Einzelnen Beitrag anzeigen

Guido Eisenbeis

Registriert seit: 9. Apr 2006
389 Beiträge
 
Delphi 10.3 Rio
 
#5

Re: Eltern haften für ihre Kinder (dynamisch erstellte Contr

  Alt 16. Apr 2007, 00:16
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
  Mit Zitat antworten Zitat