Forum: Object-Pascal / Delphi-Language
Delphi
by Daniel,
2. Nov 2013
Nein, das mit dem Free und DisposeOf haut nicht hin.
".DisposeOf" ändert den Referenz-Zähler nicht. Es führt lediglich den Code aus, der im Destruktor enthalten ist - degradiert damit den Destruktor fast zu einer normalen Methode. Das Objekt lebt danach noch - zumindest aus technischer Sicht, selbst wenn es fachlich vielleicht nicht mehr in der Lage sein mag, einer sinnvollen Tätigkeit...
Forum: Object-Pascal / Delphi-Language
Delphi
by Daniel,
1. Nov 2013
Ja, allein ein Label auf einem Form hat 5 Referenzen. Parent, Owner, ein Styler, vielleicht ein Gesture-Manager - es kann viele Gründe dafür geben. Das ist nicht per se schlimm, so lange das Framework weiß, wann es was aufzuräumen hat. Deswegen ja mein Hinweis auf ".RemoveObject()". Dort werden genau diese Referenzen wieder aufgedröselt.
Forum: Object-Pascal / Delphi-Language
Delphi
by Daniel,
1. Nov 2013
Gehört die FMX-Komponente irgendwem? Wenn ja, dann müsstest Du dessen .RemoveObject()-Methode aufrufen. Danach kannst Du es dann freigeben.