VC结口和调用例子:// 错误获取
int WINAPI iGetErrMsg(const int iErrRetCode, char *pErrMsg,int *pSW);VC中的调用:
int iRet=0,iSw=0;
Uchar buf[16]={0};
Uchar s[300]={0};
iRet=iGetErrMsg(0x801, (char *)s, &iSw);VB中,我的声明和调用:
声明:
Public Declare Function iGetErrMsg Lib "DQ_NEU.DLL" (ByVal iErrorCode As Long, ByRef szErrorDescription As Byte, ByRef szSW As Byte) As Long调用:
Dim szErrorDescription(0 To 299) As Byte
Dim szSW(0 To 1) As Byte
Dim lRet As Long
lRet = iGetErrMsg(514, szErrorDescription(0), szSW(0)) //这里就发生异常了 每次在VB中调用iGetErrMsg就发生异常了,在VC中调用是正常的,请大家帮帮忙. DLL 是用VC做的,谢谢先!
Dim szErrorDescription(0 To 299) As Byte
Dim szSW(0 To 1) As Byte
Dim lRet As Long
lRet = iGetErrMsg(514, szErrorDescription(0), szSW(0)) //这里就发生异常了
谢谢先!
不过,编译通不过, long 和byte类型不匹配
另:你的CSDN名和我QQ名是一样的:)
Dim szErrorDescription(0 To 299) As Byte
Dim szSW(0 To 1) As Byte
Dim lRet As Long
lRet = iGetErrMsg(514, varptr(szErrorDescription(0)), varptr(szSW(0))) //这里就发生异常了
你是指这个 801 吗?
在VB中一样传
iGetErrMsg(&H801, varptr(szErrorDescription(0)), varptr(szSW(0)))
不关声明的事,是动态库用错了版本: (
分全结你了
再次谢谢!