/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
com read thread
Fra : Troels Thomsen


Dato : 27-06-02 20:31

Hej

Jeg har sakset noget kode fra msdn til at læse fra com-porten med.
Inde i en tråd hænger man i en waitComEvent, der altså venter på at der
ankommer en byte på com-porten. Hvordan får jeg denne tråd til at exitte,
når jeg vil lukke programmet? Jeg kan sagtens sætte et flag således at jeg
ryger ud af tråden, men det hjælper lissom ikke noget så længe jeg hænger i
waitCommEvent kaldet....
Der benyttes ikke-overlapped operation


DWORD dwCommEvent;
DWORD dwRead;
char chRead;

if (!SetCommMask(hComm, EV_RXCHAR))
// Error setting communications event mask

for ( ; ; ) {
if (WaitCommEvent(hComm, &dwCommEvent, NULL)) {
do {
if (ReadFile(hComm, &chRead, 1, &dwRead, NULL))
// A byte has been read; process it.
else
// An error occurred in the ReadFile call.
break;
} while (dwRead);
}
else
// Error in WaitCommEvent
break;
}

If hFile was not opened with FILE_FLAG_OVERLAPPED, WaitCommEvent does not
return until one of the specified events or an error occurs.






 
 
Søg
Reklame
Statistik
Spørgsmål : 177496
Tips : 31968
Nyheder : 719565
Indlæg : 6408491
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste