Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Dynamische Komponenten freigeben?


soisseteben - Mo 02.10.06 18:57
Titel: Dynamische Komponenten freigeben?
hi,
Muss ich Komponenten, die ich zur Laufzeit erzeugt hab, wieder explizit freigeben, oder erledigt das Delphi bei Programmende für mich?

Danke schonmal


mkinzler - Mo 02.10.06 19:00

Wenn du ihnen einen Owner übergeben hast, erledigt der das für dich.


Narses - Mo 02.10.06 19:01

Moin!

Grundsätzlich: ja! :mahn:

Ausnahme: Wenn du Controls anlegst, kannst du das ja mit Übergabe eines Eigentümers tun, z.B.:

Delphi-Quelltext
1:
MyEdit := TEdit.Create(Form1);                    

In diesem Fall ist Form1 der Eigentümer, der alle untergeordneten Objekte mit freigibt, wenn er selbst freigegeben wird.

Ansonsten entsorgt Windows natürlich bei Prozessende üblicherweise den Speicher, den dein Programm angefordert hat; aber das ist natürlich nicht wirklich die Antwort auf deine Frage. ;)

cu
Narses

//EDIT: unglaublich, du bist aber heute echt mein "Vorgesetzter", user profile iconmkinzler... :rofl:


soisseteben - Mo 02.10.06 19:31

Okay, danke :D