J'tilise la fonction ReadFile pour lire sur le port COm du PC.
La lecture fonctionne correctement sans les Threads.
J'ai décidé de mettre en place les Threads et là ça ne veut plus marcher.
Pas d'erreur à la compil mais qd j'exécute, ça fonctionne jusqu'au ReadFile !!!!!
// Lecture reponse
res = ReadFile(
hCOM, // Handle du port
donnees, // Adresse buffer
noctets, // Nb octets à lire
&nbOctets, // Nb octets lus
NULL); // Lecture synchrone
Quand tu utilise les threads sur une seule ressource tu dois synchroniser tes threads. Pour ca en MFC tu as les CSemaphore.Ce qui te permet d'attendre que t'as ressource soit libre, et qui peut eviter le plantagede ta fonction ReadFile.
Pour l'utiliser tu la déclare dans "Blick" (CSemaphore block) et tu l'utilise comme suit :
block.Lock();
com1->lire(trame,total,&nbre); // dans un tableau
block.Unlock();
Quand tu utilise les threads sur une seule ressource tu dois synchroniser tes threads. Pour ca en MFC tu as les CSemaphore.Ce qui te permet d'attendre que t'as ressource soit libre, et qui peut eviter le plantagede ta fonction ReadFile.
Pour l'utiliser tu la déclare dans "Blick" (CSemaphore block) et tu l'utilise comme suit :
block.Lock();
com1->lire(trame,total,&nbre); // dans un tableau
block.Unlock();
Merci de ton aide VIDARUSNY mais qd je compile, connait pas CSemaphore, ni block, lock et unlock. Je crois qu'il manque une Classe...
peux-tu me détailler comment faire ???