Wenn Du das direkte Beschreiben einer Exemplarvariablen zulässt, ist die Referenz auf das zuvor erzeugte Exemplar verloren. Darüber hinaus ist nicht klar, wo das zugewisene Exemplar letztlich wann freigegeben wird:
Delphi-Quellcode:
myFont:= TFont.Create;
try
AnObject.Font:= myFont;
AnotherObject.Font:= myFont;
finally
FreeAndNil(myFont);
end;
Verwende stattdessen eine transparente Zuweisung der Form
Delphi-Quellcode:
TMyClass = class
private
FFont: TFont;
procedure SetFont(const AValue: TFont);
public
property Font: TFont
read FFont
write SetFont;
//...
procedure TMyClass.SetFont(const AValue: TFont);
begin
FFont.Assign(AValue);
end;
wobei Du das Exemplar hinter
FFont einmalig im Konstruktor erzeugst, bzw im Destruktor zerstörst.