求高人把一段c++代码变成delphi

zhitaoyang 2015-02-27 04:15:49
做RFID芯片读取时候用到的dll是用c++写的,里面有个函数怎么弄都没写对,求高人看下,delphi下这个函数该怎么写。

typedef struct
{
unsigned char TagType;
unsigned char AntNum;
unsigned char Ids[12];
}TagIds;
extern "C" DllExport short __stdcall Gen2MultiTagIdentify(HANDLE hCom, unsigned int * Count,TagIds *value,unsigned char Antenna,unsigned char ReaderAddr = 0xff);
...全文
145 1 收藏 5
写回复
5 条回复
zhitaoyang 2015年02月28日
大神崇拜你,结分
回复 点赞
阿发伯 2015年02月28日
value: TTaglds;
回复 点赞
zhitaoyang 2015年02月28日
大神厉害 可以用,机器能有反应了,但是还是报了命令长度错误,跪求大神再帮忙看下调用方式哪里有问题了, ------------------------ C++代码 TagIds IdBuf[300]; unsigned int tag_cnt = 0; ReaderAddr = 0xFF; Gen2MultiTagIdentify(hComHandle,&tag_cnt,IdBuf,ReaderAddr); -------------------- 我写的delphi代码 var i : Byte; count : integer; value : PTagIds; a : Byte ; begin count := 0; a := $ff; i := Gen2MultiTagIdentify(h,count,value^,a); showmessage(IntToStr(i)) end;
回复 点赞
阿发伯 2015年02月28日
也可分开写: 函数说明: function Gen2MultiTagIdentify(hCom: THandle; var Count: Integer; var value: TTagIds; Antenna: Byte; ReaderAddr: Byte = $ff): SmallInt; stdcall; 函数实现: function Gen2MultiTagIdentify; external 'xxxx.dll' name 'Gen2MultiTagIdentify';
回复 点赞
阿发伯 2015年02月28日
type PTagIds = ^TTagIds; TTagIds = packed record TagType: Byte; AntNum: Byte; Ids: array[0..11] of Byte; end; function Gen2MultiTagIdentify(hCom: THandle; var Count: Integer; var value: TTagIds; Antenna: Byte; ReaderAddr: Byte = $ff): SmallInt; stdcall; external 'xxxx.dll' name 'Gen2MultiTagIdentify'; 其中‘xxxx.dll'为你的dll名称。也可分开写: 函数说明: function Gen2MultiTagIdentify(hCom: THandle; var Count: Integer; var value: TTagIds; Antenna: Byte; ReaderAddr: Byte = $ff): SmallInt; 函数实现: function Gen2MultiTagIdentify; external 'xxxx.dll' name 'Gen2MultiTagIdentify';
回复 点赞
发动态
发帖子
语言基础/算法/系统设计
创建于2007-08-02

3418

社区成员

3.3w+

社区内容

Delphi 语言基础/算法/系统设计
社区公告
暂无公告