Einzelnen Beitrag anzeigen

idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#3

AW: Freigeben von Komponenten

  Alt 11. Jun 2017, 00:05
Selbst wenn die Listbox zu dem Zeitpunkt schon freigegeben wäre, was nicht der Fall ist, dürfte doch Free keine Exception auslösen.
Doch, wenn DU oder jemand Anderes die Variable nicht auf nil setzt, dann steht danach Schrott in dem Zeiger und Schrott knallt schön, wenn man damit was machen will.
Ok, mir fällt jetzt auf, dass ein Owner oder Parent, wer auch immer, der seine Komponenten freigibt, das natürlich über seine Komponentenliste (Components bzw. Controls) erledigen wird und er von der privaten Variable der Tedit, die auf die Komponente zeigt, gar nichts weiß und auch nichts wissen will. Die Variable kann also wohl beim Freigeben gar nicht nil gesetzt werden, und das zu erwarten war wohl ein Fehlschluss.

Bedeutet das aber nicht, dass man Komponenten prinzipiell gar nicht selbst freigeben darf? Denn von einem x.free bekommt ja vermutlich weder die Components-Liste noch die Controls-Liste etwas mit? Was ist da die korrekte Vorgangsweise, wenn ich eine Komponente vorzeitig entsorgen will? Muss ich die vorher explizit aus der Controls Liste des Parent und aus der Components Liste des owners entfernen?

Geändert von idefix2 (11. Jun 2017 um 00:12 Uhr)
  Mit Zitat antworten Zitat