Mit so einer regen Diskussion hatte ich garnicht gerechnet. Ich habe alle Antworten gespannt durchgelesen und bin nun zu dem Schluss gekommen, dass wenn mehrere Programmierer an dem Projekt arbeiten sollen Variante 3 fast immer zu bevorzugen ist.
Ich hatte in einem Projekt vor kurzem den Fall, Variante 2 verwendet wurde und ich fälschlicherweise das Objekt freigegeben habe.
Delphi-Quellcode:
tmpBMP := Objekt.GetRendering;
try
imgBild.Picture.Bitmap := tmpBMP;
finally
tmpBMP.Destroy;
end;
(TImage verwendet für dir Zuweisung ein Assign, deshalb keine Probleme an der Stelle)
Gelößt sah es dann so aus:
imgBild.Picture.Bitmap := Objekt.GetRendering;
Variante 3 würde daraus folgendes machen:
Objekt.RenderInto( imgBild.Picture.Bitmap );
Das ist kürzer, unmissverständlich, erzeugt keine unnötige Bitmap und man bekommt das Objekt das etwas tut an den Anfang der Code-Zeile. Klarer Fall