Здравствуйте.
Возникла следующая проблемма:
При вызове BuildCommDCB или BuildCommDCBAndTimeouts под Win98 (WinXP и 2000 OK)
одна из версий Debug или Release (а иногда и обе) вылетают с
сообщением "Программа выполнила недопустимую..." Короче ошибка в kernel32.dll.
Пытался перехватить exception, но не получилось.
Среда разработки Visual C++ 7.0.
Код примерно такой:
DCB dcb;
COMMTIMEOUTS timeouts;
ZeroMemory(&dcb, sizeof(DCB));
ZeroMemory(&timeouts, sizeof(COMMTIMEOUTS));
dcb.DCBlength = sizeof(DCB);
try
{
BuildCommDCBAndTimeouts("baud=9600 parity=N data=8 stop=1 to=on", &dcb, &timeouts);
}catch(...){MessageBox(NULL, "Error", "Error", NULL);}
Вопросы собственно следующие:
1) Почему прога вылетает?
2) Почему не ловится excepton?
Заранее спасибо за ответы.
... << RSDN@Home 1.0 beta 7a >>
Здравствуйте, Виктор Зуев, Вы писали:
[skip]
А Вы CreateFile уже далетет или еще нет, до вызова функции????
Если нет — то порт может быть занят другим приложение — а это ресурс эксклюзивный — поэтому и валится все.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Виктор Зуев, Вы писали:
А>[skip]
А>А Вы CreateFile уже далетет или еще нет, до вызова функции????
А>Если нет — то порт может быть занят другим приложение — а это ресурс эксклюзивный — поэтому и валится все.
А>
До вызова BuildCommDCBAndTimeouts я порт не открываю.
Вряд ли дело в этом т.к.
1) Работает под WnXP и Wn2000
2) Как правило не работает лиь одна из двух версий проги (Debug или Release)
3) И вроде как BuildCommDCBAndTimeouts никак не связан с handle'ом порта. Да и вообще как бы не известно для какого порта (1, 2, 3, ...)
я буду использовать эти DCB и COMMTIMEOUTS.
Все равно спасибо за ответ.
Хоть не верится что дело в этом, но попробую вначале открыть порт.
Здравствуйте, Виктор Зуев, Вы писали:
ВЗ>Вопросы собственно следующие:
ВЗ>2) Почему не ловится excepton?
думаю что кидается структурное исключению а они с с с++
исключениями ничего общего не имеют
надо писать wrapper
Здравствуйте, ioni, Вы писали:
I>Здравствуйте, Виктор Зуев, Вы писали:
ВЗ>Вопросы собственно следующие:
ВЗ>2) Почему не ловится excepton?
I>думаю что кидается структурное исключению а они с с с++
I>исключениями ничего общего не имеют
I>надо писать wrapper
Возможно это и так.
Этот exception всего лишь следствие. Хотелось бы осознать и устранить причину возникновения этого exception'а.

... << RSDN@Home 1.0 beta 7a >>