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