Communication thread / dialog
Salut,
Je débute en C++ et je galère un peu pour un truc super simple en java. Je suppose que pour les connaisseurs du C++, ça doit être également assez simple.
Voilà le problème :
J'ai créé une appli à embarquer sur pocket PC via Visual Studio. C'est une appli MFC avec une classe CDialog.
Cette classe CDialog doit réagir à des événements externes à sa classe. Pour ça, j'ai créé un thread qui capte les différents événements et doit les transmettre à la classe CDialog. C'est la transmission à la classe CDialog qui me pose problème. J'ai tenté de transmettre au thread l'instance CDialog mais ça ne fonctionne pas (l'instance est nulle). Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
BOOL CWCETest4Dlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_me = this;
return TRUE; // return TRUE unless you set the focus to a control
}
// Code du thread
DWORD WINAPI Detection(LPVOID lpParameter){
CWCETest4Dlg* objDlg = (CWCETest4Dlg*) objDlg;
objDlg->SetEditBox();
return 0;
}
// Lancement du thread
void CWCETest4Dlg::OnBnClickedButton1()
{
DWORD ThreadID;
HANDLE hExampleThread;
hExampleThread = CreateThread( NULL,0,DetectionNFC2,m_me,0,&ThreadID );
}
// La fonction à lancer à partir du thread
void CWCETest4Dlg::SetEditBox()
{
m_edit.SetWindowTextW(_T("Edition"));
} |
Le thread est bien créé, mais il ne récupère pas l'instance de la classe CDialog. Qq'un voit-il où est mon erreur ?