Вниз
Скачать: CL | DM;

Com port & WaitCommEvent   Найти похожие ветки 

 
Andrew Volkov   (2003-09-15 20:55) [0]

Поймал непонятный глюк.
Создается отдельный поток для чтения из ком порта
Для прослушивания события используется WaitCommEvent

WaitCommEvent(CommHandle,TransMask,nil);

Раньше все было нормально - прога доходила до этого места и спокойна ждала события - а теперь (ничего не менял) она пролетает это место, а так как все это в цикле

while true do

она все время крутиться и мочит процессор. Но она же должна ждать - на Ком ничего не приходит - к нему ничего не подключено. В чем может быть трабла.Кто сталкивался, подскажите


 
Evgeny V ©   (2003-09-16 05:53) [1]

Как открыт порт на чтение? Есть ли флаг оверлаппед FILE_FLAG_OVERLAPPED, если есть, а у тебя в WaitCommEvent(CommHandle,TransMask,nil); а у тебя lpOverlapped=nil, то результат WaitCommEvent может быть не корректным (HELP WinSDK по WaitCommEvent).И еще момент, если ты делаешь SetCommMask в момент работы WaitCommEvent, тоже вывалится. И код было бы неплохо, как открыт порт, какие маски устанавливаются и когда.


 
Andrew Volkov   (2003-09-16 22:19) [2]

Сенкс - разобрался. Ошибки не описал - поэтому сразу не заметил в чем трабла. На самом деле один из принтеров был настроен на Сом1 - поэтому при загрузке он его захватывал - а прога не могла достучаться до него и спокойно молчала - запуская при этом в потоке чтение порта. Вот оно там и бубенило...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.015 c
3-78756
Aleksandr
2003-11-03 14:04
2003.11.24
Что за странности с TClientdataSet?


1-78998
Движняк
2003-11-13 22:21
2003.11.24
Слежение за приложением


3-78859
Max_
2003-11-03 13:31
2003.11.24
Oшибка ADOQuery и MDI?


1-79043
lext
2003-11-14 21:00
2003.11.24
Не могу убрать лишнюю кнопку в заголовке окна!


1-78964
ed_30
2003-11-14 19:05
2003.11.24
Сохранение в поток




   Наверх