Здравствуйте, quodum, Вы писали:
Q>Здравствуйте, _alecs, Вы писали:
Q>[]
Q>А ты уверен, что срабатывает именно это событие? У тебя в коде их вроде две штуки. Или три. Q>Приведи лучше код еще раз, только теперь целиком.
Ок! Действующий код приведу чуть попозже, но отличий там небудет. Он будет лишь иметь дополнительный класс TCom в котором и будут реализованны метод — инициализация порта, запись/чтение данных и ожидание события. Событие по записи oWrite.hEvent не используется. Используются только три события oWait.hEvent для ожидания события от порта, oRead.hEvent для чтения данных и hBreakEvent для прекращения операций и завершения потока. Возвращаемое событие EV_RXCHAR тоже проверяется. Как уже сказал точный код приведу попозже, но основной цикл будет выглядеть примерно так:
pCom->SetMask( EV_RXCHAR );
while( ! Terminated )
{
// Ожидаем событие от ком-порта.
if ( ! pCom->WaitEvent( &dwEvtMask ) ) continue;