Einzelnen Beitrag anzeigen

Gargamel

Registriert seit: 19. Mär 2007
171 Beiträge
 
#1

Verständnisproblem Funktionen und call by value / call by reference

  Alt 31. Okt 2010, 13:44
Delphi-Version: 2006
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.
  Mit Zitat antworten Zitat