Einzelnen Beitrag anzeigen

NerdIII

Registriert seit: 17. Mär 2007
Ort: Hannover
7 Beiträge
 
Turbo Delphi für Win32
 
#18

Re: Wo gebt ihr Objekte frei?

  Alt 12. Dez 2007, 10:22
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
  Mit Zitat antworten Zitat