2011-02-17 99 views
3

我想引用com組件,並且它拋出了下面的錯誤。IClassFactory由於以下錯誤而失敗:800a0153

從IClassFactory創建CLSID爲{xxx}的COM組件實例失敗,原因如下:800a0153。

特別是當我嘗試實例化一個對象時,會引發錯誤。我檢查了

  1. 該項目正在興建的x86處理器,它是
  2. COM對象是使用REGSVR32註冊,並可以在註冊表中。

我還可以看到在對象瀏覽器的方法,所以我知道.NET是找到它。

關於我失蹤的任何想法?

+0

FYI 0x800a0153 = VB_E_TERRREGBADFILE根據err.exe,但我找不到更多的信息。 – Rup 2011-02-17 19:48:01

回答

1

這是特定於組件的錯誤代碼。如果您沒有解釋代碼意味着什麼的文檔,那麼您需要供應商的支持。

+0

你確定嗎?設施代碼是FACILITY_CONTROL,但錯誤代碼似乎在標準範圍內,而不是由OLE定義的自定義範圍。這是不是指出它是微軟定義的(但可悲的沒有記錄)的錯誤? – 2011-02-18 11:21:58

0

回來時,我不得不做了很多COM的工作,我用COM資源管理器從這些傢伙頗有幾分:

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

我曾在去年進行安裝調試離奇的COM註冊問題與Office插件。另外,我跟這些傢伙沒有任何關係(而且看起來公司可能會烤麪包)。

+0

你在這個工具中看到了什麼?我看到的DLL註冊等 – Tija 2011-02-17 21:34:20

+0

如果我沒記錯的話,有一個「查找問題」或類似的菜單選項。自從我使用這個工具以來,我已經有一段時間了,所以我對細節有點模糊。 – RQDQ 2011-02-17 21:35:33

1

正如Hans在我的評論中指出的那樣,這個錯誤代碼是FACILITY_CONTROL,它應該與OLE/ActiveX控件有關,並且有一個錯誤代碼位於標準範圍內(即,用於Microsoft使用) OleCtl.h,但沒有記錄在Win32頭文件中,因此可能是Microsoft產品(如Visual Basic)的內部。

您可以告訴我們關於您嘗試使用的COM組件的其他內容嗎?

如果使用Visual Basic編寫COM組件,我認爲您所看到的可能與運行時錯誤339相等,Visual Basic的用戶會看到他們是否嘗試引用具有某些依賴關係的OCX控件失蹤。您可以使用Depends.exe來查看COM服務器的DLL/EXE的依賴關係,並查看您的計算機上是否存在它們。

相關問題