rt
我用:
procedure(... ;out pArray:array of string)
begin
   ...
   setlength(pArray,x);
   ...
end;
时提示Incompatible type

解决方案 »

  1.   

    这样就可以:type
      TStrArray = array of string;procedure ...(...; out pArray: TStrArray);
    begin
      SetLength(pArray, X);
    end;我也不知道为什么那样不行!?
      

  2.   

    type
      TMyType=array of string;
    procedure(... ;out pArray:TMyType)
    begin
       ...
       setlength(pArray,x);
       ...
    end;
      

  3.   

    需要先定义一个类型
    type
      TArrayString = array of string;procedure(... ;out pArray: TArrayString);举个例子
    var
      A: array[0..1]of Integer;
      B: array[0..1]of Integer;
    // A和B会被编译器看成不同的类型
    begin
      A := B; // 不能通过
    end;除非这样声明
    var
      A, B: array[0..1]of Integer;或者
    type
      TArrayInteger = array[0..1] of Integer;
    var
      A: TArrayInteger;
      B: TArrayInteger;