var  A : array of array of string;
  I, J : Integer;
begin
  SetLength(A, 10);
  for I := Low(A) to High(A) do
  begin
    SetLength(A[I], I);
    for J := Low(A[I]) to High(A[I]) do
      A[I,J] := IntToStr(I) + ',' + IntToStr(J) + ' ';
  end;
end;
释放delphi自己会处理

解决方案 »

  1.   

    先确定数组长度,用SetLength(动态数组,长度);
    如果要添加数组元素的个数,用SetLength(动态数组,新长度);
    如果要截去数组中一部分,用copy(动态数组, Index, Count);
    使用完后一定要 动态数组 := nil; 或者 SetLength(动态数组,长度);
    多维数组都差不多了。
      

  2.   

    声明:(在函数中声明)
    var Arr: Array of string;
    或:(在type中声明,在函数中声明)
    Type
      TArr=Array of string;
    ...var Arr: TArr;
    使用后不必释放,Delphi会自己做的