1

我在 VB6 中有一个 activeX DLL,我被要求用它运行一些测试。由于我不再有 VB6 环境,我认为最好尝试制作一个简单的 C# 程序来调用注册的 COM Dll。为此,我将 DLL 复制到 c:\windows\system32,使用 regsrv32 注册 DLL,重新启动计算机并将此 DLL 添加到 COM,因此我将其添加到我的项目中并从我的项目中引用它。我从中创建了一个对象并尝试从中调用一个函数,但除了 DllUnusedClass 和 DllUnused 之外没有其他可用的函数。

4

2 回答 2

2

您说您已在项目中添加了对 COM dll 的引用,现在我将右键单击该引用并选择“在对象浏览器中查看”。这将向您显示引用的 dll 中可用的类型。

可能是您没有创建适当类型的对象,因此在对象浏览器中查看它应该可以帮助您确定要创建的对象类型。

于 2013-01-24T16:49:18.767 回答
0

确保您在 VB6 项目中拥有的任何要从 .Net 应用程序访问的类都将Instancing属性设置为,6 - GlobalMultiUse以便它在范围内。

我已经使用Instancing设置为默认值的属性测试了您的场景,5 - MultiUse并遇到了您描述的相同问题。

于 2013-01-24T22:11:47.193 回答