怎样返回函数里数组的值?

解决方案 »

  1.   

    procedure ReturnArrayValue(var ArrayName:Array of Variant);
    var
      Arr:Array of Variant;//Integer,string,etc.
    begin
      ...
      ArrayName :=Arr;
      ...
    end;不过最好不要怎样写,因为函数内部定义的变量或者给内部变量分配的内存最好在内部释放。
      

  2.   

    上面的东西可以写成procedure ReturnArrayValue(var ArrayName:Array of Variant);
    begin
      ...
      setLength(ArrayName,10);//newlength
      ArrayName[0] :=1000;
      ArrayName[1] :=1001;
      ...
    end;
      

  3.   

    很感谢,
    难道设置动态数组的类型只能设为variable才能用SetLength吗?