(1)在delphi中,如此传递数据参数编译会出错。
   function InQueue(info : array[0..1023] of byte) : Boolean;  //编译会出错
   function InQueue(info : array of byte) : Boolean;           //正确
   这是为什么?怎么样解决。
(2)在delphi中,怎么快速copy一个数据的数据到另一个数。如下语句效力太低
     a , b : array[0..1023] of byte;     for i := 0 to 1023 do
       a[i] := b[i];

解决方案 »

  1.   

    (1)
    type
      TArrayByte = array[0..1023] of Byte;function InQueue(info : TArrayByte ): Boolean; (2)
     Move(b[0], a[0], SizeOf(b));
      

  2.   

    1、以数组作为参数传进函数,只能用
    function InQueue(info : array of byte) : Boolean;
    的形式,在函数里可以用Low(Info)和High(Info)得到数组的上下边界。
    或者可以这样声明:
    type
      TInfo = array [0..1023] of byte;
    function func(Info: TInfo): Boolean;2、
    var
      a , b : array[0..1023] of byte;
    begin
      ... ...
      Move(b[0], a[0], 1024);
    end;