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?