A2:=A1 是引用
A2:=copy(A1) 是真复制

解决方案 »

  1.   

    var
      a1,a2:array of char;声明的时候这样就可以a1:=a2;了
      

  2.   

    同意 Neo2D
    不同意zhoudut(xingxing),因为这里的a1:=a2只是指针赋值,不是拷贝内容。
      

  3.   

    别完,为什么用
    如: Dest:array[0.10] of integer;
      Source:array[0.10] of integer;
    WinApi函数 CopyMemory(@Dest,@Source,length(Source));
    或是Move(Source,Dest,Length(Source));
    不行?
      

  4.   

    行,length(Source)要不要改成sizeof(sorce)?!
      

  5.   

    to BCB 可是不行呀Sizeof(Source)是4*11=44
    而Length(Source)是11我指的方法Move和CopyMemory都不行!希望你能做过试验就知道!
    procedure TForm1.Button1Click(Sender: TObject);
    var
      Source:array [0..10] of integer;
      Dest:array [0..10] of integer;
      i:integer;
    begin
     for i:=0 to 10 do
       Source[i]:=i;
     CopyMemory(@Dest,@Source,length(Source));
    // Move(Source,Dest,Length(Source));
     showmessage(Inttostr(Dest[9])); //一个很大的数字!????
     end;
    end.
      

  6.   

    喔!是我搞错啦!是应该用Sizeof(Source)
    BCB是对的!我理解错误!
      

  7.   

    我想,应该是这样:procedure AssignIntAry( const Src: array of Integer; var Dest: array of Integer );
    begin
      SetLength( Dest, Length(Src) );
      Move( Src[0], Dest[0], Length(Src)*SizeOf(Integer) );
    end;