Bonjour,
je vous explique une peu ce que je veux faire.
J'ai une checkbox, si on la coche on doit lancer un thread, quand elle n'est plus lancée on doit terminer/killer le thread
Pour lancer mon thread j'utilise AfxBeginThread
Mon premier problème est que je n'arrive par a killer le thread malgré la FAQ ( http://cpp.developpez.com/faq/vc/?pa...opWorkerThread )
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 /* * Description: Fonction détectant un changement de status (chochée / non cochée) de la CheckBox * Si la CheckBox est cochée on appelle la fonction RefreshList() actualisant les informations des serveurs de la CListCtrl * E: * S: * return: void */ void Tab2::OnChkChange() { if(IsDlgButtonChecked(IDC_CHECKREFRESH)) { AfxBeginThread(ThreadRefreshList, this); } else { // On termine le thread //AfxEndThread(); } } UINT Tab2::ThreadRefreshList(LPVOID pParam) { Tab2 * self = (Tab2 *)pParam; self->RefreshList(); return 0; }
Ensuite je m'intérroge sur les threads, ma fonction RefreshList() est récursive
RefreshList()
{
//... du code
RefreshList();
}
dois-je laisser ca comme ca ou lancer à intervalle régulier un thread ?
Merci![]()
Partager