Hallo Robert.
Sorry, ich war irgendwie blind
und hab doch glatt deinen Beitrag übersehen.
Zitat von
Elvis:
Eines der schönen Dinge an der
VCL ist das standardisierte lifetime management.
Wenn der Owner freigeben wird, wird er wiederum alle seine Components[X] freigeben.
Eine weiter Bestätigung meiner Ansicht und dafür, dass Delphi "intelligent" ist.
Zitat von
Elvis:
Zitat von
Guido Eisenbeis:
Ist das expliziete Freigeben von dynamisch erzeugten Controls notwendig oder nicht?
Anders gefragt: Werden dynamisch erzeugte Controls bei Programmende automatisch im Speicher freigegeben?
Ja, aber willst du solange warten?
Yes, Sir!
Bei Controls ist es bei mir meistens so, dass ich diese bis zum Beenden der Anwendung brauche.
Zitat von
Elvis:
Wenn du dynamisch ein Panel anlegst, 5 Controls drauf wirfst und vllt noch eine Komponente, willst du sie nicht alle aus dem Speicher entfernen, wenn du sie nicht mehr brauchst?
Siehe oben.
Zitat von
Elvis:
Was in der UI dynamisch angelegt wird, wird höchstwahrscheinlich auch wieder entfernt.
Wenn du nun allen Controls und der Komponente das Panel als Owner verpasst, musst du nur noch dieses freigeben.
Oder wenn du nach MVC vorgehst, würdest du den Controller für dieses Panel/Frame als Komponente implementieren. So musst du nur ihn freigeben um auch die von ihm verwalteten Controls freizugeben.
Ich hoffe, dass ich so ungefähr verstanden zu habe, was du beschreibst. (Was ist UI und was MVC?)
Den Gedanken finde ich interessant, dass man (wenn möglich) dynamisch erzeugte Controls in ein Panel setzt und dann nur dieses Panel freigeben muss!
Zitat von
Elvis:
btw: Du bist nicht zufällig der Bösewicht aus Darkwing Duck?
Aber nur, wenn du Quack bist!
(Verdammt, jetzt ist meine Tarnung aufgeflogen!)
PS: Habe gerade gesehen, dass du kurz vor deinem Tausendsten Beitrag bist! (998, falls du nicht inzwischen weiter geschrieben hast.) Wenn der Zähler umspringt, wird gefeiert!
Gruß,
Guido.
Edit: MVC habe ich herausgefunden ->
Model-View-Controller