Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: COM порт  [new]
Oleg_Spb
Guest
s62
Вы код откуда-то позаимствовали? Есть параметр @FOvr, который используется при асинхронном чтении, но код написан так, как для синхронного.
Чтобы функция ReadFile ждала некоторое время, прежде, чем возвратить результат, нужно задать соответствующие таймауты для порта. См. фунцию SetCommTimeouts.


Да это я эксперементировал... Уже убрал :)
Но проблема оказалась не в том месте где я искал.

Было

  FComHndl := CreateFile(DeviceName, GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0);


сделал

  FComHndl := CreateFile(DeviceName, GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL , 0);


После этого, даже без SLEEP все работает.
10 июл 18, 11:52    [21558787]     Ответить | Цитировать Сообщить модератору
 Re: COM порт  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 3494
Вот как ошибки исправляются, а я то думал :)
10 июл 18, 12:16    [21558896]     Ответить | Цитировать Сообщить модератору
 Re: COM порт  [new]
defecator
Member

Откуда:
Сообщений: 39981
YuRock
Вот как ошибки исправляются, а я то думал :)

Человек изобретает велосипед, не надо ему мешать )))
10 июл 18, 12:17    [21558898]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / Delphi Ответить