Zitat:
Delphi-Quellcode:
Result:=tempObjektliste;
tempObjektliste.free;
Nach dem Free ist nicht mehr viel von dem Objekt übrig, auf welches das Result zeigt.
Zitat:
Delphi-Quellcode:
try
tempObjektliste:=TKlasse.create(true);
finally
tempObjektliste:=aObjektliste;
...
end;
Die erstellte Klasse landet als Speicherleck irgendwo, da tempObjektliste gleich wieder überschrieben wird.
Wozu ist überhaupt das Try-Finally gedacht?
Delphi-Quellcode:
procedure frmChild.Execute({var} aObjektliste: TKlasse);
begin
tempObjektliste:=aObjektliste;
ShowModal;
end;
Objekt-Variablen sind Zeiger/Pointer und du willst eh nur den Inahlt der Liste ändern.
Darum kein VAR, da du ja nicht den Zeiger ändern willst.