先定义类型
type TByteArr=array of byte;  procedure abc(var ByteArr:TByteArr);
var 
  BArr;TByteArr;  
  i:integer;  
begin
  setlength(BArr,5);
  ....
  ....
  setlength(ByteArr,high(BArr));   //有错,,不知怎么改
  for i:=0 to high(BArr) do ByteArr[i]:=BArr[i]; //有错,,不知怎么改
end;

解决方案 »

  1.   

    先定义类型
    type TByteArr=array of byte;  procedure abc(var ByteArr:TByteArr);
    var 
      BArr;TByteArr;  
      i:integer;  
    begin
      setlength(BArr,5);
      ....
      ....
      setlength(ByteArr,high(BArr));   //有错,,不知怎么改
      for i:=0 to high(BArr) do ByteArr[i]:=BArr[i]; //有错,,不知怎么改
    end;
      

  2.   

    不需要你那个复杂的。
    假设在过程A中将数组传给过程B:
    procedure A;
    var
      BArr;array of byte;    
    0Abegin
      setlength(BArr,5);
      ……
      ……
      B(BArr); //这样就可以了
    end;end;//过程B形如:
    procedure B(ByteArr:array of byte);—————————————————————————————————
    MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
                 毁誉由人,望天上云卷云舒,聚散任风。';
    if Not Assigned(I) then
      I := TI.Create(Nil);
    I.Maxim := MaximStr;
    I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”或者去掉';
    I.Desire := '加不加分随你';
    —————————————————————————————————
        
      

  3.   

    不需要你那个复杂的。
    假设在过程A中将数组传给过程B:
    procedure A;
    var
      BArr;array of byte;    
    0Abegin
      setlength(BArr,5);
      ……
      ……
      B(BArr); //这样就可以了
    end;end;//过程B形如:
    procedure B(ByteArr:array of byte);—————————————————————————————————
    MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
                 毁誉由人,望天上云卷云舒,聚散任风。';
    if Not Assigned(I) then
      I := TI.Create(Nil);
    I.Maxim := MaximStr;
    I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”或者去掉';
    I.Desire := '加不加分随你';
    —————————————————————————————————
        
      

  4.   

    type
      ByteArray = array of Byte;
    var
      C: ByteArray;procedure SetResult(var A: ByteArray);
    var
      I: Integer;
      B: ByteArray;
    begin
      SetLength(B, 5);
      for I:=0 to High(B) do
        B[I] := I;
      SetLength(A, High(B));
      for I:=0 to High(A) do
        A[I] := I;
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
      I: Integer;
    begin
      SetResult(C);
      for I:=0 to High(C) do
        Caption := Caption + IntToStr(C[I]);
    end;