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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.94
MAndy
Сообщений: n/a
#1

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

02.06.2008, 16:54. Просмотров 1999. Ответов 11
Метки нет (Все метки)

Есть код:
Код
#import 'imgscan.ocx' no_namespace
....
{
   ...
   _DImgScanPtr pIScan = NULL;

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

   pIScan = NULL;

}
Проблема: в результате вызова
Код
pIScan->AboutBox();
выскакивает: Unhandled exception ...(Kernel32.dll).
Может, кто-то с талкивался с такой проблемой? Как это побороть?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2008, 16:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка: Unhandled exception ...(Kernel32.dll). вImgScan.ocx (C++):

Ошибка Unhandled Exception, Access Violation - C++
Странная проблема, на самом деле.. пишу следующее: #include <fstream.h> ... ofstream FileStream('data.txt');при выполнении пишет...

ошибка-an unhandled win32 exception occured - C++
нужна помощь) в общем вылетает такая ошибка в процессе выполнения программы: an unhandled win32 exception occured т.к. проект на 3000...

Перегрузка assing operator. Unhandled exception at 0x103157aa (msvcr100d.dll) in 1exColonSynt_withColonSynt.exe: 0xC0000005: Access violation read - C++
Значит есть линия (класс Line ) , которая состоит из точек (Class Point). Хочется Одной линии передать значения другой. Я перегрузил...

Ошибка при написании класса: Unhandled exception std::bad_alloc at memory location - C++
ПИшу свой клас Var, проблема в следующем из-за строчки first = first+1; вылетает ошибка Unhandled exception at at 0x760FB727 in...

Ошибка: Unhandled exception at 0x772115de in TimeShift.exe: 0xC0000005: Access violation reading location 0x00041000. - C++
всем привет! При использовании двумерного массива постоянно появляется ошибка :Unhandled exception at 0x772115de in TimeShift.exe:...

Выдаёт ошибку "Unhandled exception at 0x00007F exception: std::bad_alloc in memory location" - C++
Добрый день, друзья не могли бы помочь разобраться, почему выдаёт такую ошибку? Вот #include <iostream> #include "kmath.h" ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Vita
Сообщений: n/a
02.06.2008, 18:09 #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 #3
Объект создался!
Vita
Сообщений: n/a
03.06.2008, 11:03 #4
Посмотри на файлы imgscan.tlh и imgscan.tli, которые были сгенерены по импорту. Найди класс, в котором есть функция AboutBox. Насколько я понял, компилится-то твой проект не должен. _DImgScanPtr - это чистый дисп-интерфейс. Изначально там нет свойств. Если только это свойство не добавлено. Но, наверное, есть и другой интерфейс, у которого есть метод AboutBox. Попробуй через этот интерфейс.
MAndy
Сообщений: n/a
03.06.2008, 11:40 #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 #6
Попробуй catch( _com_error e ) и какая ошибка. Вполне возможно, что ошибка в методе AboutBox.
Vita
Сообщений: n/a
03.06.2008, 13:57 #7
Скорее всего, осх-контрол надо куда-то навесить, на окошко контейнера какого-нибудь. Иначе он плохой совсем.
MAndy
Сообщений: n/a
03.06.2008, 15:31 #8
ошибка 'Разрушительный сбой', причем для любого метода, не только AboutBox().
У меня тоже есть подозрения на счет окошка контейнера, но в MSDN сказано: 'The Scan control is invisible and can work independently of other controls.'
Vita
Сообщений: n/a
03.06.2008, 15:52 #9
Да, скорее всего, связано с тем, что это ActiveX Control. Я, честно, не работал с ними. Даже не знаю, что и посоветовать. Посмотри на rsdn как прицепить ActiveX Control. Наверное, там есть об этом.
Vita
Сообщений: n/a
03.06.2008, 15:54 #10
А Разрушительный сбой - это Catastrophic failure или E_UNEXPECTED?
MAndy
Сообщений: n/a
03.06.2008, 16:16 #11
E_UNEXPECTED
Vita
Сообщений: n/a
03.06.2008, 16:44 #12
E_UNEXPECTED == Catastrophic failure по-аглицки. Теперь все ясно. Действительно, осх-контрол не инициализирован. У него, как мне помнится, есть интерфейсы IOleControl и иже с ним связанные. Их как-то нужно задействовать. Тут проще использовать информацию, связанную с WTL, ATL и т.п. Но я в этом не силен. Сформулируй вопрос по-другому и задай, кто-нибудь ответит. Удачи!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2008, 16:44
Привет! Вот еще темы с ответами:

Ошибка "Unhandled exception, Access violation writing location" - C++
Пишу вот так: root->child1->parent=root; root->child2->parent=root;выходит ошибка Unhandled exception at 0x00073dec in Regul.exe:...

Ошибка вида "Unhandled exception thrown: read access violation" - C++
Использую парсер tinyXML2. Программа собирается в режиме Debug. При запуске ее из студии - все работает. Но если запустить ее .exe файл из...

Unhandled exception - C++
Вообщем вот рабочая программа, но в конце вываливается с ошибкой: Unhandled exception at ... Access violation writing location... Но...

Unhandled exception - C++
При запуске программы появляется окно с текстом "Unhandled exception at 0x00CD488F in my project.exe: 0xC0000005: Access violation reading...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
03.06.2008, 16:44
Ответ Создать тему
Опции темы

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