DLL函数原型为:
DATAINTERFACE_API short (__stdcall GetCurValueList)(char* p[]);
VB中的调用:
Public Declare Function GetCurValueList Lib "DataInterface.dll" (pszExtName As Any) As Integer
Dim pszName(2) As Long
Dim asStr(2) As String
Dim i As Long
asStr(0) = StrConv("DA00000" & Chr(0), vbFromUnicode)
asStr(1) = StrConv("DA00001" & Chr(0), vbFromUnicode)
asStr(2) = StrConv("DA00002" & Chr(0), vbFromUnicode)
For i = 0 To 2
pszName(i) = StrPtr(asStr(i))
Next
Call GetCurValueList(pszName(0))
此外,你也可以直接在vc那端将参数声明为SAFEARRAY,这样就不用这么麻烦传了