Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Как перехватить ошибку в TAdpComPort?


Автор: =Женек= 26.7.2019, 17:55
Господа, пишу в Embarcadero на C++.
Использую пакет AsyncPro, в частности, компонент TAdpComPort.
Обмен данными наладил, хочу только чтобы программа не теряла человеческий вид, когда USB шнур выдергивается.

Данные отправляю нечасто (раз в 100 мсек) и небольшими пакетами (по 30 байт).  В связи с этим я не гнушаюсь проверять перед каждой отправкой, есть ли компорт в системе и если нет, то  блокирую отправку данных.
Но вот беда, если дисконнект случается во время отправки данных, то вылазит системная ошибка - Exception EInOutError.
Пытался отловить ее через try catch, чтобы программа молча реагировала на отключение шнура - но не получилось. Где-то прочитал, что такое невозможно из-за особенностей AsyncPro (что-то с потоками связано).
А в самом TAdpComPort обработка ошибок не предусмотрена.

Так как мне блокировать сообщения об ошибках?

Автор: =Женек= 6.8.2019, 21:11
Окуенный форум. В отдельных темах под 2000 просмотров, а ответов ноль)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)