我創建了一個C#COM可訪問的DLL,我想在VB6中使用 我能夠在VB6中使用我的COM對象,並且對TLB有一個硬引用。 什麼我想現在要做的是消除這種參考和動態加載 我創造它,如下所示:VB6:運行時錯誤424當調用CreateObject
Dim keylok As Object
Set keylok = CreateObject("MyClassLib.MyObject")
我得到錯誤424「必選對象」有一次我打第二行的運行時間。 但是,當我創建它如下:
Dim keylok As MyObject
Set keylok = CreateObject("MyClassLib.MyObject")
它工作正常。 我不確定爲什麼會有所作爲。無論如何,我不能使用第二個,因爲我仍然需要有物理參考。
我也嘗試作爲一種調試,以寫入我的COM對象構造函數中的文件,如果它真的被調用。是的,我甚至可以在構造函數中成功調用COM對象中的其他方法。
我甚至能夠動態地加載和使用從其他C#應用程序使用它:
dynamic myObj = Activator.CreateInstance(Type.GetTypeFromProgID("MyClassLib.MyObject"));
難道任何一個遭遇類似的東西之前?
閱讀http://support.microsoft.com/kb/245115,然後給深思如何後期綁定的作品不同於早期的;特別是,您可以確認您的對象有效的IDispatch嗎? – rskar 2012-04-18 17:12:18
我可以在C#中將其綁定。所以,我會認爲我的組件一般可以延遲。實際上我也有我的構造函數。 – engmtm 2012-04-18 18:13:06
一些額外的信息:我的C#DLL是在VS 2010(.NET 4.0)中構建的 – engmtm 2012-04-18 18:35:38