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 :
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 ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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")); }
Partager