Hallo!
Muß man TImage oder TQRImage nach Gebrauch freigeben ?
Ein TImage muss immer dann freigegeben werden, wenn es auch dynamisch erzeugt wurde. Das ist doch bei jedem Objekt so.
Wenn Du im Source ein TImage definierst und diesem mit myImage = TImage.Create(argumente); Speicher zuweist, dann hast Du auch dafür zu sorgen, dass dieser Speicher wieder aufgelöst wird. myImage.Free; ist dort das richtige.
Verwende eine try…finally, wenn Du das TImage nur temporär benötigst und verwende den Konstruktor in OnCreate, den Destruktor in OnDestroy, wenn Du das TImage während der gesamten Laufzeit benötigst.
Ziehst Du ein TImage zur Entwurfszeit in Dein Formular ist dieses Image IDE-gesteuert. Borland übernimmt für Dich die Erzeugung und das Vernichten. Jedoch wird dann immer beim Starten und Beenden vernichtet.
Man kann den Speicher für die Bilddaten eines Images (und damit meine ich nur das enthaltene Bild) auch mit myImage.picture.graphic := nil; zurücksetzen. Dadurch wird das enthaltene Bild vernichtet.
Viel Erfolg!
Michael F. Bender