求高人把一段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);
...全文
216 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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';

16,746

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧