Einzelnen Beitrag anzeigen

Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#2

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

  Alt 15. Apr 2007, 08:28
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.
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?
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?
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.

btw: Du bist nicht zufällig der Bösewicht aus Darkwing Duck?
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat