Einzelnen Beitrag anzeigen

norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
505 Beiträge
 
Delphi 12 Athens
 
#15

AW: TObjectList sauber an function übergeben und wieder zurück

  Alt 11. Jul 2020, 10:24
Nur eines darf man nicht tun: das Interface als Objektreferenz erzeugen und sowohl als Interface- und Objektreferenz benutzen und dann die Objektreferenz mit Free freigeben.
Meinst du sowas:

Delphi-Quellcode:
type
  ITestList = IList<TTest>;

function SoJa:ITestList;
begin
  Result := TCollections.CreateObjectList<TTest>(True);
end;

function SoNie:ITestList;
begin
  Result := ITestList.Create;
end;

Procedure Start;
var
  lTest:ITestList;
begin
  lTest := SoNie;
  lTest.Free;

  // So was darf man? Ist aber unnötig, da beim Verlassen von Start lTest sowieso freigegeben wird
  lTest := SoJa;
  lTest.Free;
end;
  Mit Zitat antworten Zitat