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

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

Ожидание символа с COM порта


atruhin ©   (2004-12-17 11:54:00) 

Как дождаться символа с порта с таймаутом. Наподобие
procedure TPort.WaitByte;
var
 Mask:DWORD;
begin
 Mask:=EV_RXCHAR;
 WaitCommEvent(PortHandle, Mask, nil);
end;
только с возможностью задать время ожидания?


Reindeer Moss Eater   (2004-12-17 14:26:00) [1]

Последний параметр в WaitCommEvent у тебя nil.
Значит операция не асинхронная.
А это значит, что
WaitCommEvent does not return until one of the specified events or an error occurs.


Digitman   (2004-12-17 13:54:00) [2]


> atruhin


тебе про ерему, а ты все про фому ..

слово "OVERLAPPED" видишь ?
ну так почему же не просканировать справку по вводу/выводу, где фигурирует это "магическое" слово, и не составить для себя представление, чем это "волшебство" может помочь твоей "беде" ?


atruhin   (2004-12-17 13:46:00) [3]

Каждый раз менять SetCommTimeouts?


atruhin   (2004-12-17 13:41:00) [4]

Извени но непонял ответа. Т.е. как организовать выход из режима ожидания события получения байта по заданному таймауту?


Reindeer Moss Eater   (2004-12-17 12:03:00) [5]

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/devio/base/communications_functions.asp

А насчет твоего вопроса:

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


Наверх

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