vb调用dll问题
有一段vc调用dll的代码想改成vb的
vc代码如下:
unsigned char *carddata = new unsigned char[255];
memcpy(carddata, m_Floor ,255);
HINSTANCE hInstance = LoadLibrary("ICDLL.dll");
unsigned char *s = new unsigned char[255];
unsigned char st;
s[0] = '\0';
int (*f)(unsigned char *,unsigned char *) = (int (*)(unsigned char *,unsigned char *))GetProcAddress(hInstance, "MyFunc");
st = f(carddata,s);
我写的vb调用代码:
Public Declare Function MyFunc Lib "ICDLL.dll" (ByRef CardData As Byte, ByRef s As Byte) As Byte
Dim CardData As String
Dim s(0 To 255) As Byte
CardData = "1234567890ABCDEF"
Dim CD(0 To 255) As Byte
For i = 0 To Len(CardData) - 1
CD(i) = Asc(Mid(CardData, i + 1, 1))
Next i
nRet = MyFunc(CD(0), s(0))
vb执行后提示 调用约定错误!看不出是哪的问题。