windowsfashion
Messages postés55Date d'inscriptionjeudi 21 avril 2005StatutMembreDernière intervention 2 juin 2007
-
5 févr. 2006 à 17:38
windowsfashion
Messages postés55Date d'inscriptionjeudi 21 avril 2005StatutMembreDernière intervention 2 juin 2007
-
5 févr. 2006 à 17:57
bonjour
je suis sur le point de terminer un petit terminal mais je me rend
compte que l'application multithread que j'ai faite ne fonctionne pas
sous windows 98.
mon code:
DWORD WINAPI RelaisAutomatique(LPVOID p);
int ArretExecutionThread1 = 0; //variable globale pour l'extinction du thread RelaisAutomatique
void GestionAutomatique()
{
HANDLE hThread;
DWORD dwWait;
int NbEntre;
hThread = CreateThread(NULL,0,RelaisAutomatique,NULL,0,NULL); // on recupere le flag
cout << " Entrez 1 pour couper le thread de la gestion automatique des relais" <<endl;
cout << " Entrez 2 pour retourner à la page
d'identification et continuer a executer le thread de gestion
automatique des relais" <<endl;
cin >> NbEntre;
switch (NbEntre)
{
case 1
: ArretExecutionThread1 =
1;
//on met sur 1 la variable pour couper le thread de gestion
dwWait =
WaitForSingleObject(hThread,INFINITE); //on attend que la boucle teste
la condition avec 1 pour se couper
break;
case 2
:
menu()
break;
//redirection vers la func menu
default :
cout <<" Veuillez inserer un nombre entre 1 et 2" <<endl;
}
}
DWORD WINAPI RelaisAutomatique(LPVOID lpParam) // THREAD de gestion
BruNews
Messages postés21041Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 5 févr. 2006 à 17:48
Je ne sais pas si ça résoudra TOUT ton problème mais il faut le dernier param de CreateThread pour les noyaux non NT.
Il suffit de donner adresse de ton dwWait puisque tu l'initialiseras plus tard.
hThread = CreateThread(NULL,0,RelaisAutomatique,NULL,0, &dwWait);