Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#1

Interfacelisten: Objekt wird bei remove freigegeben

  Alt 12. Aug 2009, 17:05
Folgender Code:
Delphi-Quellcode:
Type
  TTest = Class (TInterfacedObject, IInterface)
  End;

procedure TForm1.Button1Click(Sender: TObject);
Var
  l : TInterfaceList;
  x : TTest;

begin
  l := TInterfaceList.Create;
  x := TTest.Create;
  l.Add(x);
  L.Remove(x);
  x.free; // <<--- Peng. X ist schon freigeben. Wieso?
  l.free;
end;
Kann mir jemand erklären, was ich falsch mache bzw. wo mein Denkfehler liegt?
Ich müsste doch jedes Objekt selbst wieder freigeben, was ich per Create erzeuge, oder nicht?
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat