是VB中的错还是VC中的错?
fakir 2000-03-28 10:49:00 在VC的Dll中,数据和涵数定义如下:
typedef struct tag_TSP_COMMANDFIELD
{
UCHAR commandcode : 6;
UCHAR morebit : 1;
UCHAR lengthbit : 1;
} TSP_COMMANDFIELD;
typedef struct tag_TSP_COMMAND
{
union
{
UCHAR codefield;
TSP_COMMANDFIELD codefieldunion;
};
UCHAR datalength;
UCHAR data[255];
} TSP_COMMAND;
//输出涵数定义:
TONGSP_API BOOL TSP_OpenCommunication( TSP_COMMAND pCommand );
我需要在VB中调用该Dll,在VB中数据定义和涵数声明与调用如下:
'数据定义
Public Type TSP_COMMAND
tsp_commandfield As Byte
datalength As Byte
data(255) As Byte
End Type
'涵数声明
Declare Function TSP_OpenCommunication lib "TongSP.dll" (ByRef pCommand As TSP_COMMAND) As Boolean
'涵数调用
dim pComm as TSP_COMMAND
pComm.tsp_commandfield = &H25
pComm.datalength=&H08
TSP_OpenCommunication pComm '涵数调用
但是在此调用时,出现错误“Bad Dll calling convertion”
请问诸位:到底错在哪儿,是VB中的错还是VC中的错?我应该如何处理?