现在我在开发一个指纹考勤系统
考勤机随机附带一个OCx中有一个函数
FPKeeper1.GetEnrollData(ID:integer; i:integer; j:integer; k:integer;)1表示获取数据的机器号i表示表示要获得的登记数据的登记号码。j表示接收要获得的登记数据值的指向buffer的long型指针。该值大小为512字节k表示接收要获得的登记数据的密码值的指向变量的long型指针

解决方案 »

  1.   

    2.的意思可能是指向一个array [0..127] of integer;的指针,好办。
    var
      b :array [0..127] of integer;
      p :PInteger;
    begin
      GetEnrollData(id, i, Integer(@b[0]), 这个参数不知道为什么他们不把他声明成指针);
      //第四个参数直接传递p^进去就可以了,但是你的p必须初始化,不然没有意义了
    end;
      

  2.   

    var
      Buf:Array[0..512] of integer;
      P:Pinteger;
    begin
      FPKeeper1.GetEnrollData(ID,i:integer,Integer(@buf[0]),j);
    在 Integer(@b[0])处出错:
      Constant object cannot be passed as var parameter
    能解释一下吗?
      

  3.   

    还有P怎样初始化,
    sorry,刚入行,对指针一塌糊涂,请不吝赐教
      

  4.   

    var
      Buf:Array[0..512] of integer;
      P:Pinteger;
    begin
      FPKeeper1.GetEnrollData(ID,i:integer,Integer(@buf[0]),P^);
    在 Integer(@b[0])处出错:
      Constant object cannot be passed as var parameter
    能解释一下吗?
      

  5.   

    2.的意思可能是指向一个array [0..127] of integer;的指针,好办。
    var
      b :array [0..127] of integer;
      p :PInteger;
    begin
      GetEnrollData(id, i, Integer(@b[0]), 这个参数不知道为什么他们不把他声明成指针);
      //第四个参数直接传递p^进去就可以了,但是你的p必须初始化,不然没有意义了
    end;
      

  6.   

    GetEnrollData(id, i,Buf[0],LongInt)才对
    一点专业精神都没有
    不能给100分,最多50分