Komponenten und Eigentümer
Nach oben zu Objekte erstellen, instantiieren und freigeben
Delphi-Komponenten besitzen einen eingebauten Speicherverwaltungsmechanismus, der es ermöglicht, dass eine Komponente die Verantwortung für die Freigabe einer anderen Komponente übernimmt. Man sagt auch, die erste Komponente ist Eigentümer der zweiten Komponente. Speicher für eine Komponente wird automatisch freigegeben, wenn der Speicher ihres Eigentümers freigegeben wird. Der Eigentümer einer Komponente – der Wert ihrer Eigenschaft Owner– wird durch einen Parameter festgelegt, der dem Konstruktor beim Erstellen der Komponente übergeben wird. Standardmäßig ist ein Formular Eigentümer aller darauf angelegten Komponenten, und das Formular wiederum ist das Eigentum der Anwendung. Wird die Anwendung geschlossen, wird der gesamte Speicher für alle Formulare und die darauf enthaltenen Komponenten freigegeben.
Eigentum bezieht sich nur auf TComponent und ihre Nachfahren. Wenn Sie beispielsweise ein TStringList- oder TCollection-Objekt erstellen (selbst wenn es einem Formular zugeordnet ist), sind Sie selbst für seine Freigabe verantwortlich.