有谁知道 Delphi调用VC dll函数的参数问题 ( 积分: 100 )

D

dj_lgy

Unregistered / Unconfirmed
GUEST, unregistred user!
函数原型 long EncodeSetCenterSMSRecvNumber(unsigned char protocolType ,unsigned char protocolVer ,unsigned char sequence_id, unsigned long deviceID, unsigned char flags, unsigned char centerCount, char centerRecvSMSNumber[64], unsigned int * pOutDataLen, unsigned char *pOutData)
在delphi引用时些函数时如何对应这些参数,请高手指教一下,谢了
 
在Delphi中如何对应这些参数类型
 
function EncodeSetCenterSMSRecvNumber(protocolType ,protocolVer , sequence_id:Byte; deviceID:DWORD; flags, centerCount:Byte; centerRecvSMSNumber:array [0..63] of char; var pOutDataLen:DWORD; var pOutData:Byte):LongInt;
 
老兄回答得半对啊,可是 unsigned char *poutdata到底应该如何转呢?
 
我也想学习学习
 
unsigned char表示8位无符号类型对应于Delphi中的Byte或者TChar也行(只要你愿意处理)
这样东东的转换关键是数据大小一致,因为传到另一头只按内存结构定的
可参考Windows.pas中的定义
UCHAR = Byte;

unsigned char *poutdata 定义unsigned char的指针,
对应于Delphi下的可以是poutdata:pByte 或者var pOutData:Byte(D码中变参其实与poutdata:pByte效果一致,好看与好用任君选择)
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
849
import
I
I
回复
0
查看
511
import
I
顶部