Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.452 Beiträge
 
Delphi 12 Athens
 
#17

AW: MemoryLeak bei Frame und TComboBox.Items.AddObject()

  Alt 1. Dez 2020, 09:54
Nur die Frage die sich mir jetzt stellt ist: Warum gibt es keine MemoryLeaks, wenn ich das Frame manuell freigebe anstatt das vom Owner machen zu lassen?
Weil beim DestroyWindowHandle des Forms schon indirekt der Count der Combobox-Items auf 0 gesetzt wird und das TFrame1.Destroy ins Leere läuft; bei der manuellen Freigabe aber erst das Destroy ausgeführt wird, was dann im inherited erst die ComboBox freigibt.

Du kannst übrigens die MemoryLeaks vermeiden, wenn du das Frame schon im FormDestroy-Event freigibst anstatt auf die implizite Freigabe zu warten. Das DestroyWindowHandle wird nämlich erst danach ausgeführt.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat