我想引用com組件,並且它拋出了下面的錯誤。IClassFactory由於以下錯誤而失敗:800a0153
從IClassFactory創建CLSID爲{xxx}的COM組件實例失敗,原因如下:800a0153。
特別是當我嘗試實例化一個對象時,會引發錯誤。我檢查了
- 該項目正在興建的x86處理器,它是
- COM對象是使用REGSVR32註冊,並可以在註冊表中。
我還可以看到在對象瀏覽器的方法,所以我知道.NET是找到它。
關於我失蹤的任何想法?
我想引用com組件,並且它拋出了下面的錯誤。IClassFactory由於以下錯誤而失敗:800a0153
從IClassFactory創建CLSID爲{xxx}的COM組件實例失敗,原因如下:800a0153。
特別是當我嘗試實例化一個對象時,會引發錯誤。我檢查了
我還可以看到在對象瀏覽器的方法,所以我知道.NET是找到它。
關於我失蹤的任何想法?
這是特定於組件的錯誤代碼。如果您沒有解釋代碼意味着什麼的文檔,那麼您需要供應商的支持。
你確定嗎?設施代碼是FACILITY_CONTROL,但錯誤代碼似乎在標準範圍內,而不是由OLE定義的自定義範圍。這是不是指出它是微軟定義的(但可悲的沒有記錄)的錯誤? – 2011-02-18 11:21:58
回來時,我不得不做了很多COM的工作,我用COM資源管理器從這些傢伙頗有幾分:
http://download.cnet.com/COM-Explorer/3000-2206_4-10022464.html?tag=mncol;lst
我曾在去年進行安裝調試離奇的COM註冊問題與Office插件。另外,我跟這些傢伙沒有任何關係(而且看起來公司可能會烤麪包)。
正如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的依賴關係,並查看您的計算機上是否存在它們。
FYI 0x800a0153 = VB_E_TERRREGBADFILE根據err.exe,但我找不到更多的信息。 – Rup 2011-02-17 19:48:01