Глюк с BuildCommDCB и BuildCommDCBAndTimeouts
От: Виктор Зуев Россия  
Дата: 27.05.03 06:26
Оценка:
Здравствуйте.
Возникла следующая проблемма:
При вызове 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 >>
Re: Глюк с BuildCommDCB и BuildCommDCBAndTimeouts
От: Аноним  
Дата: 27.05.03 08:07
Оценка:
Здравствуйте, Виктор Зуев, Вы писали:

[skip]

А Вы CreateFile уже далетет или еще нет, до вызова функции????

Если нет — то порт может быть занят другим приложение — а это ресурс эксклюзивный — поэтому и валится все.

Re[2]: Глюк с BuildCommDCB и BuildCommDCBAndTimeouts
От: Виктор Зуев Россия  
Дата: 27.05.03 10:30
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Виктор Зуев, Вы писали:


А>[skip]


А>А Вы CreateFile уже далетет или еще нет, до вызова функции????


А>Если нет — то порт может быть занят другим приложение — а это ресурс эксклюзивный — поэтому и валится все.


А>


До вызова BuildCommDCBAndTimeouts я порт не открываю.
Вряд ли дело в этом т.к.
1) Работает под WnXP и Wn2000
2) Как правило не работает лиь одна из двух версий проги (Debug или Release)
3) И вроде как BuildCommDCBAndTimeouts никак не связан с handle'ом порта. Да и вообще как бы не известно для какого порта (1, 2, 3, ...)
я буду использовать эти DCB и COMMTIMEOUTS.

Все равно спасибо за ответ.
Хоть не верится что дело в этом, но попробую вначале открыть порт.
Re: Глюк с BuildCommDCB и BuildCommDCBAndTimeouts
От: ioni Россия  
Дата: 27.05.03 15:35
Оценка:
Здравствуйте, Виктор Зуев, Вы писали:

ВЗ>Вопросы собственно следующие:

ВЗ>2) Почему не ловится excepton?

думаю что кидается структурное исключению а они с с с++
исключениями ничего общего не имеют
надо писать wrapper
Re[2]: Глюк с BuildCommDCB и BuildCommDCBAndTimeouts
От: Виктор Зуев Россия  
Дата: 28.05.03 06:00
Оценка:
Здравствуйте, ioni, Вы писали:

I>Здравствуйте, Виктор Зуев, Вы писали:


ВЗ>Вопросы собственно следующие:

ВЗ>2) Почему не ловится excepton?

I>думаю что кидается структурное исключению а они с с с++

I>исключениями ничего общего не имеют
I>надо писать wrapper

Возможно это и так.
Этот exception всего лишь следствие. Хотелось бы осознать и устранить причину возникновения этого exception'а.
... << RSDN@Home 1.0 beta 7a >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.