QINMS.com >> 首页 >>  >> 正文

VB6.0调用VB.NET(VS2012)DLL的实现方法

网上有篇文章(http://wenku.baidu.com/view/fae4b5bf6bec0975f465e2d4.html)详细写了VB6.0调用C#.NET(VS2010)DLL的实现方法,在这里我用表示VS2012中的VB.NET重演了一下,基本算是实现了。

来一个简单的例子(主要说和C#不一样的地方):

用VS2012中的vb建立一个类库,在CLASS1中输入一下代码:

VB.NET代码

其中里面的GUID由工具---创建GUID生成,使用的是第6种格式:

创建GUID

同样,需要对项目属性里边的一些值进行设置:

勾选使程序集COM可见(M):

程序集COM可见

勾选属性--编译中的为COM互操作注册(E):

COM互操作注册

然后依次打开"开始"菜单里的如下路径:

MicrosoftVisualStudio2012->VisualStudioTools->VS2012开发人员命令提示

最好是右键---以管理员身份运行。

之后的步骤就是用提示符生成snk文件等,就和原来的文章描述是一致的了,可按照原来的进行即可。

最后用VB6生成程序,调用这个生成的tlb文件,成功调用里边的函数

由于这个例子的这个函数比较简单,Function aaa(ByVal a As Integer) As Integer,后来我生成一个比较复杂的,Function scs(ByVal a() As Double, ByVal b() As Double) As Double()导入两个double类型的数组,最后的结果是一个double类型的数组,却出现了警示“函数或接口标记为限制的,或函数使用了VB中不支持的自动类型。”对于我这种外行人来说,相当困惑。

编译错误
METi. 版权所有 |