Einzelnen Beitrag anzeigen

peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
672 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: TObjectlist und der Seitenwechsel

  Alt 29. Mai 2019, 12:04
Hallo,
Zitat:
wenn die True ist zerstört die Liste die enthaltenen Objekte, wenn sie aus der Liste entfernt werde
das macht ja keinen Sinn.

Das würde ja Speicherlecks erzeugen.
Wie kommst Du denn da drauf? Wenn man eine TObjectlist mit OwnsObject = true erzeugt will man damit erreichen, dass die Liste die Lebensdauer der hinzugefügten Objekte verwaltet und man sich nicht mehr selbst darum kümmern muss. Das ist wie das Owner-Konzept bei TComponent & Cie.
Wenn man die Liste leert, zerstört oder einen einzelnen Eintrag mit Delete entfernt ruft die Liste für die betroffenen Objekte Free auf, also kein Leck. Wenn man eines der Objekte in der Liste selbst zerstört bleibt in der Liste eine ungültige Referenz zurück, die später meist zu einer Exception führt. Wenn man ein Objekt zurückhaben will muss man die Extract-Methode verwenden und nicht Delete oder Remove; damit übernimmt man dann auch die Verwaltung der Lebensdauer wieder.
Peter Below
  Mit Zitat antworten Zitat