Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Com port & WaitCommEvent [D7, WinXP]


Andrew Volkov ©   (2003-09-15 20:55:00) 

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

WaitCommEvent(CommHandle,TransMask,nil);

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

while true do

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


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

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


Evgeny V   (2003-09-16 05:53:00) [2]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо