> -- Илья Ермаков писал(а):
> По поводу считывания из COM-порта - насколько я краем левого уха глядел модуль CommV24, там нет никакого постоянного опроса порта, а просто используются процедуры асинхронного чтения порта как файла из WinApi. Мы ж не на ассемблере пишем, асинхроника для ввода-вывода есть уже на уровне системных функций.
Вы правы, Илья, асинхроника есть в WinApi.

Тут могу сделать замечание о том, что, к сожалению, асинхронная работа не заложена в интерфейс модуля CommV24. Процедуры ReceiveByte и ReceiveBytes - блокирующие. Само их объявление не предполагает никакой возможности того, что запрошенное число байт не будет прочитано или будет прочитано "потом". Это еще ладно, можно перед чтением вызывать Available и читать не больше того, что реально уже доступно. Самая главная проблема - в процедурах SendByte и SendBytes. Они тоже не предполагают асинхронной работы. Обычно делается так: передаешь указатель на буфер и количество записываемых байт, а тебе возвращают, сколько байт реально удалось записать. Так вот, здесь ничего не возвращают. Поэтому приходится ждать, пока запишут все. Поэтому приходится записывать помаленьку.