如何编写C#来调用vb6代码?

时间:2013-01-24 16:38:40

标签: c# vb6

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

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

我已将Instancing属性设置为默认5 - MultiUse测试了您的方案,并遇到了您所描述的相同问题。