我创建了一个 C# COM 可访问的 dll,我想在 VB6 中使用它我能够在 VB6 中使用我的 COM 对象,并硬引用 TLB。我现在要做的是删除这个引用并动态加载它我正在创建它,如下所示:
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"));
有没有人遇到过类似的事情?