Bonjour,
Je vous �cris afin de faire part d'un soucis dans l'un des tutos (et vous expliquer mon probl�me qui persiste :p) :
http://c.developpez.com/faq/vc/?page...opWorkerThread
Celui-ci consiste en l'arr�t d'un Thread MFC via l'utilisation "propre" des Handlers.
J'ai une appli MFC bas� sur une CDialog. J'ai voulu mettre le tuto en place car j'ai un soucis (qui persiste) lorsque je veux arreter un thread en cours quand la CDialog est ferm�.
J'arrive a fermer convenablement le thread lors d'un clic sur un bouton, mais pas lors de la fermeture de l'appli. Dans ce deuxi�me cas, j'ai un memory leak.
Dans votre tuto, vous d�clarez deux fois des HANDLE. Certains en membres de la classe et d'autres dans le constructeur. Les premiers n'�tant pas utilis�s apr�s.
Il me reste un probl�me concernant l'application de ce tuto : Si je suis le tuto � la lettre, le thread se termine bien, mais le
bloque l'appli malgr� la pr�sence de :
Code : S�lectionner tout - Visualiser dans une fen�tre � part ::WaitForSingleObject(m_hWaitThread, INFINITE);
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9 if(::WaitForSingleObject(pView->m_hEndThread, 0) == WAIT_OBJECT_0) { pView->m_sText = "Calcul annulé."; ::PostMessage(hWnd, MY_WM_UPDATE, (WPARAM)0, (LPARAM)0); pView->m_cRatio.EnableWindow(true); pView->m_bThread = false; ::SetEvent(pView->m_hWaitThread); return result; }
Partager