Название: Exception при вызове CloseHandle Отправлено: kuzulis от Май 08, 2009, 13:11 Доброго дня!
Я тут занялся написанием класса для работы с последовательными портами в Windows! и вот при реализации ф-ции void TWinSerialDevice::close() у меня приложение вылетает ! Код: void TWinSerialDevice::close() { Я уже замучался и не знаю от чего это ??!! Помогите разобраться! :( Название: Re: Exception при вызове CloseHandle Отправлено: kuzulis от Май 08, 2009, 14:10 Хотя вот тут : http://www.vsokovikov.narod.ru/New_MSDN_API/Handles_objects/fn_closehandle.htm
написано Цитировать ... Эта функция породит исключительную ситуацию, если или значение дескриптора, которое не допустимо (или 0) или значение псевдо-дескриптора, задается как значение hObject, а приложение запущено в среде отладчика. Это включает в себя закрытие дескриптора дважды и использование функции CloseHandle для дескриптора, возвращенного функцией FindFirstFile. ... Обратите внимание! на то, что эта функция не будет порождать исключительную ситуацию тогда, когда значение дескриптора, которое не допустимо или значение псевдо-дескриптора, задается, а приложение не запущено в среде отладчика. и как это понять? Название: Re: Exception при вызове CloseHandle Отправлено: Tonal от Май 12, 2009, 11:26 Под отладчиком CloseHandle возбуждает исключение если параметр косячный.
Без отладчика исключения не будет и сработает твой if. Название: Re: Exception при вызове CloseHandle Отправлено: kuzulis от Май 12, 2009, 12:02 Хм... странно как то всё, т.к. я использую асинхронный режим работы последовательного порта и такую переменную как OVERLAPPED ,
и когда я писал в коде так: Код: ..... Код: ..... :) мистика ! Название: Re: Exception при вызове CloseHandle Отправлено: crackedmind от Май 12, 2009, 13:52 Цитировать мистика ! вообще то не мистика ) |