2010-10-20 30 views
1

我有一個VB 6項目的DLL有一個類和一個窗體。當它的構造函數被調用時,表單將從該類中調用。我從該項目中創建了一個DLL,並將該DLL添加到了我的.NET項目引用中。現在,當我打電話給那個類DLL時,它給出了以下錯誤:在.net中嵌入DLL中使用VB 6.0表格

Creating an instance of the COM component with CLSID {4E44E1A1-391D-4846-B733-2618249FE35A} from the IClassFactory failed due to the following error: 800a0196. 

這意味着窗體不打開。

+1

我認爲這是一個VB6 COM DLL,而不是一個擴展名爲.DLL的ActiveX控件?這是發生在您的Visual Studio dotNet環境中,還是僅在您部署應用程序時發生? – Zippit 2010-10-20 05:46:27

+0

有時regsvr32幫助 – Jet 2014-04-14 13:21:38

回答

0

VB6 ActiveX DLL中的窗體必須從.NET以模態方式打開。你是模態嗎?

+0

他們不一定是模態。如果需要,COM DLL可以在其整個生命週期中打開窗體。 – Deanna 2011-11-22 14:35:20

+0

提煉我的答案只解決VB6 ActiveX交互。我剛剛再次從.NET進行了測試,錯誤「非模態窗體無法在ActiveX DLL,ActiveX控件或屬性頁中顯示在此主機應用程序中。」被拋出。 – UnhandledExcepSean 2011-11-22 15:17:04