Вниз
Скачать: 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.016 c
1-78977
texHelp
2003-11-14 20:43
2003.11.24
Написание PlugIna для PhotoShopa на Delphi


1-78876
Win error
2003-11-15 05:19
2003.11.24
Документ Word


6-79093
oduvan
2003-09-20 09:40
2003.11.24
Трабл!!! TWebBrowser (#bottom)


4-79228
o2
2003-09-27 13:24
2003.11.24
Фокус окон и компонентов


1-79006
lovres
2003-11-14 10:54
2003.11.24
Zyxel: как моей программы получить №тел входящего звонка?




   Наверх