Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблема с виртуальным СОМ-портом
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > Программирование
Алекс-666
Ситуация такая.
Есть давняя дельфийская програмка, опрашивающая прибор по СОМ-порту. Всё прекрасно работало до последнего времени.
Затем у клиента сдох комп, он купил новый, на котором, естественно, СОМ-порта нет. Поставлен переходник USB - СОМ, и всё снова почти прекрасно работает.
Вот только есть такой нюанс. Если выпадает разъём USB, виртуальный СОМ-порт из системы напрочь исчезает, и дельфийская программа начинает генерить ошибки в невообразимом количестве. Это не есть гуд.
Может кто-нибудь нечто присоветовать? Как бороться с этим злом?
Сергей Борщ
QUOTE (Алекс-666 @ Jan 12 2012, 14:26) *
и дельфийская программа начинает генерить ошибки в невообразимом количестве. <...> Как бороться с этим злом?
Анализировать возвращаемые процедурами доступа к порту коды ошибок?
Алекс-666
Цитата(Сергей Борщ @ Jan 12 2012, 16:01) *
Анализировать возвращаемые процедурами доступа к порту коды ошибок?
О, если бы эти процедуры/функции хоть что-то возвращали... Но они только генерят системные сбои, и всё... Наверно, можно как-то перехватить обработку сбоя, но я не настолько хорошо разбираюсь в дельфях. Может, подскажете, как это сотворить?
Доступ к порту делается через компонент TComPort, всеми нами знаменитый.
Terminator
Цитата(Алекс-666 @ Jan 12 2012, 21:11) *
Доступ к порту делается через компонент TComPort, всеми нами знаменитый.

Если обмен в режиме запрос ответ, то вас спасёт try на всех операциях доступа к порту и переоткрывание порта на каждый запрос. А если поток "непрерывный" и закрывать порт нельзя, то ничего не поможет.
Алекс-666
Цитата(Terminator @ Jan 13 2012, 04:23) *
Если обмен в режиме запрос ответ, то вас спасёт try на всех операциях доступа к порту и переоткрывание порта на каждый запрос. А если поток "непрерывный" и закрывать порт нельзя, то ничего не поможет.
Спасло. Премного благодарен.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.