Интересная проблема с инициализацией COM-порта

 
0
 
C++
ava
ksili | 18.10.2007, 15:16
Столкнулся со следующей интересной особенностью: есть программа (не моя) использующая в работе COM-порты и есть моя прога, которую я пишу на замену той старой. Так вот в работе бывают случаи, когда работа моей программы завершается аварийно и после этого COM-порт остаётся всё ещё занятым, в то время как программы уже нет.
Если после этого запустить мою прогу заново и попытаться повторно инициализировать порт, это не удаётся. Но старой программе это удаётся! Порт инициализируется и работает нормально! Если её закрыть и запустить опять мою прогу, то порт уже нормально захватывается моей прогой.

Вопрос именно в этом: как старая программа может вернуть к жизни подвисший порт, в то время как моей это не удаётся?
Я для работы с портом использую API-функции CreateFile, WriteFile, ReadFile, CloseHandle. Работаю с портом в асинхронном режиме
По косвенным данным предполагаю, что старая прога использует синнхронный режим и использует какие-то компоненты для COM-порта (писалась в Delphi)

Что можно предпринять при инициализации порта, чтобы он железно инициализировался? Как-то же тот программист этого добился...
Ответы (0)

Комментарии не добавлены

Зарегистрируйтесь или войдите, чтобы написать.
Фирма дня
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Участники
  ksili
advanced
Отправить