Bonjour à tous !
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 !!!!!
INT Blick::lireCOM(LPVOID ptr)
{
Blick* pFlag = (Blick*) ptr;
AfxMessageBox ( "Test pFlag....");
pFlag->lecture();
return 0;
}
void Blick::lecture()
{
while(1)
{
AfxMessageBox ( "Test attente trame....");
com1->lire(trame,total,&nbre); // dans un tableau
AfxMessageBox ( "OK une Trame recue...."); traiterTrame();
}
}
La fonction lire utilise ReadFile et c là que ça plante
////////////////////////////////////////////////////////////
void CLiaisonRS232::lire(unsigned char* donnees, int noctets, int* nb)
{
BOOL res;
ULONG nbOctets;
// Lecture reponse
res =
ReadFile(
hCOM, // Handle du port
donnees, // Adresse buffer
noctets, // Nb octets à lire
&nbOctets, // Nb octets lus
NULL); // Lecture synchrone
*nb=(int)nbOctets;
}
Merci