首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

vb.net 调用vc动态链接库解决思路

2012-06-08 
vb.net 调用vc动态链接库vc写的函数,copy(char* x,char* y,double snr)此函数为动态链接库中的一个函数,实

vb.net 调用vc动态链接库
vc写的函数,copy(char* x,char* y,double snr)此函数为动态链接库中的一个函数,实现某个功能
我想用vb.net调用,不知道vb.net参数该怎样写。 
Public Declare Function copy Lib "C:\Users\Administrator\DLL_Char.dll" (ByRef a As Byte, ByRef b As Byte,byval snr as double)

我是这样子写的,提示:PInvoke 限制: 无法返回变量。

调用函数内容:是想把a字节数组拷贝到b中,copy函数实现字符串拷贝
  Dim a() As Byte = New Byte(1) {}
  a(0) = &H1
  a(1) = &H6
  Dim b() As Byte = New Byte(1) {}
  copy(b(0), a(0))//copy(b,a)也不正确

[解决办法]
byref(按地址)

byval(按值)

默认是按地址传送(byref)
soft Thanks
[解决办法]
1、DLL文件放到程序的 bin\Debug文件夹下
2、接DLL接口说明定义DLL要使用的函数或过程。
如: <Runtime.InteropServices.DllImport("DllTest.dll")> _
Shared Sub sendTo(ByVal x As String)
End Sub
3、直接调用sendto()即可

热点排行