Der Member Bummi zeigte mir diesen Quellcode:
Delphi-Quellcode:
procedure modifyMatrix(list:TArrayList);
Begin
list[2,4]:=5;
end;
procedure TForm1.Button1Click(Sender: TObject);
var mylist:TArrayList;
begin
setLength(myList,6,6);
mylist[0,5]:=3;
modifyMatrix(myList);
label1.Caption:=inttostr(mylist[0,5]);
label2.Caption:=inttostr(mylist[2,4]);
end;
Was ich nicht verstehe ist, warum die Prozedur modifyMatrix mylist verändert, obwohl weder ein Wert zurückgegeben noch als Parameter ein Zeiger übergeben wird. Soweit ich das in Erinnerung habe, konnte man die Beschränkung lokaler Variablen aufheben, wenn man als Parameter einen Zeiger übergibt.