![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ожидание символа с 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.