由于以下错误,IClassFactory失败:800a0153

时间:2011-02-17 19:45:14

标签: com com-interop

我正在尝试引用一个com组件,它会抛出以下错误。

由于以下错误,从IClassFactory创建具有CLSID {xxx}的COM组件实例失败:800a0153。

特别是当我尝试实例化一个对象时,会抛出错误。我查了一下

  1. 为x86处理器构建的项目
  2. com对象使用regsvr32注册,并在注册表中可用。
  3. 我也可以在对象浏览器中看到这些方法,所以我知道.net正在找到它。

    关于我缺少的任何想法?

3 个答案:

答案 0 :(得分:1)

这是特定于组件的错误代码。如果您没有解释代码含义的文档,那么您将需要供应商的支持。

答案 1 :(得分:1)

正如我对Hans回答的评论所指出的,这个错误代码是FACILITY_CONTROL,它应该与OLE / ActiveX控件相关,并且有一个错误代码,它位于OleCtl中定义的标准范围内(即用于Microsoft) .h,但未在Win32头文件中记录,因此可能是Microsoft产品(如Visual Basic)的内部文件。

您能告诉我们您尝试使用的COM组件的其他信息吗?

如果COM组件是使用Visual Basic编写的,我认为您所看到的很可能等同于运行时错误339,Visual Basic用户会看到他们是否尝试引用缺少某些依赖项的OCX控件。您可以使用Depends.exe查看COM服务器的DLL / EXE的依赖关系,看看您的计算机上是否存在它们。

答案 2 :(得分:0)

当我不得不做很多COM工作的时候,我使用了很多来自这些人的COM Explorer:

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

去年我不得不安装它来调试Office插件的奇怪的COM注册问题。

此外,我与这些家伙没有任何关系(看起来公司可能会干杯)。