解决方案 »

  1.   


    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';
      

  2.   

    也可分开写:
     函数说明:
    function Gen2MultiTagIdentify(hCom: THandle; var Count: Integer;
         var value: TTagIds; Antenna: Byte; ReaderAddr: Byte = $ff): SmallInt; stdcall;
    函数实现:
    function Gen2MultiTagIdentify; external 'xxxx.dll' name 'Gen2MultiTagIdentify'; 
      

  3.   

    大神厉害 可以用,机器能有反应了,但是还是报了命令长度错误,跪求大神再帮忙看下调用方式哪里有问题了,
    ------------------------
    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;