реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Проблема с виртуальным СОМ-портом, Исчезает, негодяй...
Алекс-666
сообщение Jan 12 2012, 12:26
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 6-06-07
Пользователь №: 28 233



Ситуация такая.
Есть давняя дельфийская програмка, опрашивающая прибор по СОМ-порту. Всё прекрасно работало до последнего времени.
Затем у клиента сдох комп, он купил новый, на котором, естественно, СОМ-порта нет. Поставлен переходник USB - СОМ, и всё снова почти прекрасно работает.
Вот только есть такой нюанс. Если выпадает разъём USB, виртуальный СОМ-порт из системы напрочь исчезает, и дельфийская программа начинает генерить ошибки в невообразимом количестве. Это не есть гуд.
Может кто-нибудь нечто присоветовать? Как бороться с этим злом?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 12 2012, 14:01
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (Алекс-666 @ Jan 12 2012, 14:26) *
и дельфийская программа начинает генерить ошибки в невообразимом количестве. <...> Как бороться с этим злом?
Анализировать возвращаемые процедурами доступа к порту коды ошибок?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Алекс-666
сообщение Jan 12 2012, 14:11
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 6-06-07
Пользователь №: 28 233



Цитата(Сергей Борщ @ Jan 12 2012, 16:01) *
Анализировать возвращаемые процедурами доступа к порту коды ошибок?
О, если бы эти процедуры/функции хоть что-то возвращали... Но они только генерят системные сбои, и всё... Наверно, можно как-то перехватить обработку сбоя, но я не настолько хорошо разбираюсь в дельфях. Может, подскажете, как это сотворить?
Доступ к порту делается через компонент TComPort, всеми нами знаменитый.
Go to the top of the page
 
+Quote Post
Terminator
сообщение Jan 13 2012, 02:23
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 209
Регистрация: 7-12-04
Из: Томск
Пользователь №: 1 382



Цитата(Алекс-666 @ Jan 12 2012, 21:11) *
Доступ к порту делается через компонент TComPort, всеми нами знаменитый.

Если обмен в режиме запрос ответ, то вас спасёт try на всех операциях доступа к порту и переоткрывание порта на каждый запрос. А если поток "непрерывный" и закрывать порт нельзя, то ничего не поможет.
Go to the top of the page
 
+Quote Post
Алекс-666
сообщение Jan 13 2012, 07:56
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 6-06-07
Пользователь №: 28 233



Цитата(Terminator @ Jan 13 2012, 04:23) *
Если обмен в режиме запрос ответ, то вас спасёт try на всех операциях доступа к порту и переоткрывание порта на каждый запрос. А если поток "непрерывный" и закрывать порт нельзя, то ничего не поможет.
Спасло. Премного благодарен.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 15:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.01378 секунд с 7
ELECTRONIX ©2004-2016