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()即可