je tentais d'accéder à un des membres wxDialog d'un coup de pouce :: fil:"exception non gérée" erreur lors du mélange boost :: thread avec wxWidgets GUI
void AnotherThread(myWxDialog *dlg)
{
wxMessageBox(dlg->TextBox1->GetValue(), "It works!"); // This throws an error
}
void myWxDialog::OnButtonClick(wxCommandEvent &event)
{
boost::thread myThread(AnotherThread, this);
}
Et je suis arrivé cette erreur:
Unhandled exception at 0x004043d7 in MyProgram.exe: 0xC0000005: Access violation reading location 0xbaadf00d.
Je pense que ce type d'action n'est pas autorisé entre threads différents.
Alors, y a-t-il un autre moyen de faire la même chose?
Toutes sortes d'aide seraient appréciées. :)
(Microsoft Visual C++ 2008 Express Edition)
Il n'y a pas de GUI qui soit compatible avec les threads. Félicitations à wxWidgets pour faire planter votre application lorsque vous essayez. –