Вниз
Скачать: 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.014 c
3-78792
DimChan
2003-11-05 13:25
2003.11.24
TTable


6-79088
Слава Федоренко
2003-09-26 19:03
2003.11.24
UDP broadcast в подсеть


3-78768
MaD
2003-11-04 13:51
2003.11.24
Посогите построить SQL запрос


3-78839
Svin
2003-11-04 09:52
2003.11.24
Перехват исключительных ситуаций из MS SQL Server 2000


1-79000
Andrey V.
2003-11-14 11:09
2003.11.24
Убрать курсор в TMemo




   Наверх