function INT2BCD(count:integer;BCDBuffer:pByte):integer;
var
    jj:array [0..1] of byte;
begin
        bcdbuffer:=@jj;  (此语句不执行??)
        jj[0]:=pbyte((Count div 1000)*$10+(Count mod 1000) div 100);
        jj[1]:=pbyte(((Count mod 100) div 10)*$10+Count mod 10);
        result:=0;
end;为什么??

解决方案 »

  1.   

    在bcdbuffer前加上var定义为变参
      

  2.   

    function INT2BCD(count:integer;BCDBuffer:pByte):integer;
    var
        jj:array [0..1] of byte;
    begin
            jj[0]:=pbyte((Count div 1000)*$10+(Count mod 1000) div 100);
            jj[1]:=pbyte(((Count mod 100) div 10)*$10+Count mod 10);
            result:=0;
            CopyMemory(BCDBuffer,@jj,sizeof(jj))
    end;
    你是不是这个意思?
      

  3.   

    估计老大的意思是想把jj的值传到BCDBuffer中去。
    老大,jj可是局部变量啊.
      

  4.   

    你先得在调用此函数前给BCDBuffer分配内存空间。