Форум программистов, компьютерный форум CyberForum.ru

Ошибка: Unhandled exception ...(Kernel32.dll). вImgScan.ocx - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.94
MAndy
Сообщений: n/a
02.06.2008, 16:54     Ошибка: Unhandled exception ...(Kernel32.dll). вImgScan.ocx #1
Есть код:
Код
#import 'imgscan.ocx' no_namespace
....
{
   ...
   _DImgScanPtr pIScan = NULL;

   HRESULT hr = pIScan.CreateInstance(__uuidof(ImgScan));
   pIScan->AboutBox();

   pIScan = NULL;

}
Проблема: в результате вызова
Код
pIScan->AboutBox();
выскакивает: Unhandled exception ...(Kernel32.dll).
Может, кто-то с талкивался с такой проблемой? Как это побороть?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vita
Сообщений: n/a
02.06.2008, 18:09     Ошибка: Unhandled exception ...(Kernel32.dll). вImgScan.ocx #2
Скорее всего твой объект не создался. И нужно использовать try/catch при работе со смарт-указателями.
Или хотя бы так
Код
  _DImgScanPtr pIScan = NULL;
  HRESULT hr = pIScan.CreateInstance(__uuidof(ImgScan));
  if( NULL != pIScan )
    pIScan->AboutBox();
  pIScan = NULL;
MAndy
Сообщений: n/a
03.06.2008, 10:43     Ошибка: Unhandled exception ...(Kernel32.dll). вImgScan.ocx #3
Объект создался!
Vita
Сообщений: n/a
03.06.2008, 11:03     Ошибка: Unhandled exception ...(Kernel32.dll). вImgScan.ocx #4
Посмотри на файлы imgscan.tlh и imgscan.tli, которые были сгенерены по импорту. Найди класс, в котором есть функция AboutBox. Насколько я понял, компилится-то твой проект не должен. _DImgScanPtr - это чистый дисп-интерфейс. Изначально там нет свойств. Если только это свойство не добавлено. Но, наверное, есть и другой интерфейс, у которого есть метод AboutBox. Попробуй через этот интерфейс.
MAndy
Сообщений: n/a
03.06.2008, 11:40     Ошибка: Unhandled exception ...(Kernel32.dll). вImgScan.ocx #5
Проект компилируется замечательно. _DImgScan не является 'чистым'.

imgscan.tlh:
Код
struct __declspec(uuid('84926ca1-2941-101c-816f-0e6013114b7f'))
_DImgScan : IDispatch
{
   ...
    // Methods:
    HRESULT AboutBox ( );
   ...
}
imgscan.tli:
Код
...
inline HRESULT _DImgScan::AboutBox ( ) {
    return _com_dispatch_method(this, DISPID_ABOUTBOX, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
...
Таким образом, у _DImgScan есть метод AboutBox();
Кстати, пробовал и через IDispatch выполнить методы, не работает.
Другого интерфейса, кроме _DImgScan и _DImgScanEvents, не определено.
Vita
Сообщений: n/a
03.06.2008, 13:55     Ошибка: Unhandled exception ...(Kernel32.dll). вImgScan.ocx #6
Попробуй catch( _com_error e ) и какая ошибка. Вполне возможно, что ошибка в методе AboutBox.
Vita
Сообщений: n/a
03.06.2008, 13:57     Ошибка: Unhandled exception ...(Kernel32.dll). вImgScan.ocx #7
Скорее всего, осх-контрол надо куда-то навесить, на окошко контейнера какого-нибудь. Иначе он плохой совсем.
MAndy
Сообщений: n/a
03.06.2008, 15:31     Ошибка: Unhandled exception ...(Kernel32.dll). вImgScan.ocx #8
ошибка 'Разрушительный сбой', причем для любого метода, не только AboutBox().
У меня тоже есть подозрения на счет окошка контейнера, но в MSDN сказано: 'The Scan control is invisible and can work independently of other controls.'
Vita
Сообщений: n/a
03.06.2008, 15:52     Ошибка: Unhandled exception ...(Kernel32.dll). вImgScan.ocx #9
Да, скорее всего, связано с тем, что это ActiveX Control. Я, честно, не работал с ними. Даже не знаю, что и посоветовать. Посмотри на rsdn как прицепить ActiveX Control. Наверное, там есть об этом.
Vita
Сообщений: n/a
03.06.2008, 15:54     Ошибка: Unhandled exception ...(Kernel32.dll). вImgScan.ocx #10
А Разрушительный сбой - это Catastrophic failure или E_UNEXPECTED?
MAndy
Сообщений: n/a
03.06.2008, 16:16     Ошибка: Unhandled exception ...(Kernel32.dll). вImgScan.ocx #11
E_UNEXPECTED
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2008, 16:44     Ошибка: Unhandled exception ...(Kernel32.dll). вImgScan.ocx
Еще ссылки по теме:

ошибка-an unhandled win32 exception occured C++
Ошибка при написании класса: Unhandled exception std::bad_alloc at memory location C++
C++ Unhandled exception
C++ Unhandled exception at 0x0F73DF62 | 0xC0000005: Access violation writing location
C++ Unhandled exception at 0x5014742A

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Vita
Сообщений: n/a
03.06.2008, 16:44     Ошибка: Unhandled exception ...(Kernel32.dll). вImgScan.ocx #12
E_UNEXPECTED == Catastrophic failure по-аглицки. Теперь все ясно. Действительно, осх-контрол не инициализирован. У него, как мне помнится, есть интерфейсы IOleControl и иже с ним связанные. Их как-то нужно задействовать. Тут проще использовать информацию, связанную с WTL, ATL и т.п. Но я в этом не силен. Сформулируй вопрос по-другому и задай, кто-нибудь ответит. Удачи!
Yandex
Объявления
03.06.2008, 16:44     Ошибка: Unhandled exception ...(Kernel32.dll). вImgScan.ocx
Ответ Создать тему
Опции темы

Текущее время: 00:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru