Ошибка IClassFactory из-за следующей ошибки: 800a0153

Я пытаюсь сослаться на компонент com, и он выдает ошибку ниже.

Не удалось создать экземпляр компонента COM с CLSID {xxx} из IClassFactory из-за следующей ошибки: 800a0153.

В частности, ошибка возникает, когда я пытаюсь создать экземпляр объекта. Я проверил это

  1. Проект строится для процессоров x86, которыми он является
  2. Объект com зарегистрирован с помощью regsvr32 и доступен в реестре.

Я также могу увидеть методы в браузере объектов, так что я знаю.net находит его.

Есть идеи о том, что мне не хватает?

3 ответа

Решение

Это код ошибки, специфичный для компонента. Если у вас нет документации, объясняющей, что может означать код, вам понадобится поддержка поставщика.

Как отмечено в моем комментарии к ответу Ханса, этот код ошибки - FACILITY_CONTROL, который должен относиться к элементам управления OLE/ActiveX и имеет код ошибки, который находится в стандартном диапазоне (то есть для использования Microsoft), определенном в OleCtl.h, но не задокументировано в заголовочных файлах Win32, поэтому, вероятно, является внутренним для продукта Microsoft, такого как Visual Basic.

Можете ли вы рассказать нам что-нибудь еще о COM-компоненте, который вы пытаетесь использовать?

Если COM-компонент был написан с использованием Visual Basic, я думаю, что то, что вы видите, эквивалентно ошибке времени выполнения 339, которую пользователи Visual Basic видят, пытаются ли они ссылаться на элемент управления OCX, в котором отсутствуют некоторые его зависимости. Вы можете посмотреть на зависимости DLL/EXE COM-сервера, используя Depends.exe и посмотрите, есть ли они у вас на компьютере.

Когда мне приходилось много работать с COM, я довольно часто использовал COM Explorer от этих парней:

http://download.cnet.com/COM-Explorer/3000-2206_4-10022464.html?tag=mncol;lst

Мне пришлось установить его в прошлом году, чтобы отладить причудливую проблему с регистрацией COM с помощью плагинов Office.

Кроме того, я не имею никакого отношения к этим парням (и похоже, что компания может быть тостом в любом случае).

Другие вопросы по тегам