Einzelnen Beitrag anzeigen

jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3
  Alt 2. Sep 2002, 13:38
Ja, man muss diese mit Free freigeben, denn sonst hat man ein Speicherleck und der Arbeitsseicher geht dann irgendwann mal aus (kann zwar dauern, aber beim einem Bitmap mit 10000x10000 wird es schneller gehen).

Bei Komponenten kann man es theoretisch weglassen, wenn man eine Komponente so erzeugt:
Code:
MyComp := TMyComp.Create([u]Self[/u]);
Denn dadurch ist Self (-> das Formular) der Besitzer (Owner) der Komponente, und wenn das Formular dann freigegeben wird, was von Delphi geregelt wird, dann wird auch die Komponente freigegeben, sollte sie nicht zuvor mit .Free freigegeben worden sein.
Es zählt aber zu einem schlechten Programmierstiel, wenn man den belegten Speicher nicht selbst wieder freigibt.
("Zu jedem Create gehört auch ein passendes Free.")
  Mit Zitat antworten Zitat