所有分数求助,在调用的子过程里改变传递过去的动态数组的长度,为什么不可以呢?
procedure ChangeArray(Var ChangedArray:Array of String);
var j:integer;
begin
for j:=0 to 3 do begin
SetLength(ChangedArray,j+1);//这一行有问题,可是我必须要在子过程里改变这个数组的长度,有别的办法解决吗?编译错误提示:incompatible types
ChangedArray[j] := IntToStr(j);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var TestArray:array of String;
i:integer;
begin
SetLength(TestArray,0);
ChangeArray(TestArray);
for i:= 0 to Length(TestArray)-1 do begin
Showmessage(TestArray[i]);
end;
end;