Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.712 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: dynamischer Record führt zu Problemen bei Programm beenden

  Alt 1. Jul 2021, 11:27
Selbst ohne Owner würde hier freigegeben (also auch bei NIL im Create),

da die VCL (ab TWinControl) zusätzlich auch über die Parent-Beziehungen (alle Childs) freigibt, nicht nur durch die Owner-Beziehungen. (hier hat man leider die WinAPI nachgemacht und deren Verhalten beibehalten)


PS: man kann auch einen eigenen "Owner" verwenden, z.B. ein Dummy-TComponent oder z.B. ein TPanel (woauf das eigene Zeugs liegt) oder TButton (in dem es erstellt wurde) als Owner ans Create übergeben,
worin man dann friedlich die Components freigeben kann. (wurden Komponenten vorher schon freigegeben, dann haben sie sich bereits selbstständig da rausgelöscht)

Es gab auch eine TComponentList, in der sich freigegebenen Komponenten ebenfalls seltstängig daraus entfernen. (also anstatt selbst direkt über den Owner zu gehen)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014

Geändert von himitsu ( 1. Jul 2021 um 11:30 Uhr)
  Mit Zitat antworten Zitat