Bonjour,
Voici un appel a une thread mais a partir d'une fonction OnTImer:
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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
//Dlg_2.cpp
/ / Global variables
CDlg_2 * pDlg2;
UINT MyThreadProc (pParam LPVOID)
(
pDlg2-> OnButtonBegin (); / / MFC fonction
return 0;
)
....
void CDlg_2::OnTimer(UINT nIDEvent)
{
if (nIDEvent ==3) //
{
AfxBeginThread (MyThreadProc, NULL);
}
...
}
void CDlg_2::OnButtonBegin()
{
// TODO: Add your control notification handler code here
CWaitCursor();
SHELLEXECUTEINFO sei5;
DWORD dw;
KillTimer(3);
GetDlgItem(IDC_BUTTON_CAMERA2)->EnableWindow(false);
if (process_0)
{
process_0 =false;
process_1= true;
}
else if (process_1)
..
} |
Quand le programme arrive à cette ligne:
pDlg2-> OnButtonBegin (); / / MFC fonction
Puis j'ai debug assertion failed erreur avec CWnd:: KillTimer (nIDEvent int) Pourquoi ?
Est ce du au fait que j'appel a aprtir d'une fonction TImer ou bien car la fonction thread est une fonction statique et qu'il y a des fonctions MFC dans la fonction OnButtonBegin() est ce la raison ?
Y a t il est une autre façon d'appeler un thread dans un Timer?
Merci
Partager