
Zitat von
NickelM:
Ist das wirklich nötig??
Ja, das muss sein.
Objekte in Delphi sind ja Zeiger. Wenn du im Konstruktor ein Objekt erzeugst, dann musst du genau dieses Objekt im Destruktor wieder freigeben.
Über das property BevelInnerOptions überschreibst du den alten Zeiger.
Also ist das ursprüngliche Objekt für immer verloren im Speicher (Speicherleck).
Bei dem Objekt, dass du zugewiesen hast, besteht die Gefahr, dass es doppelt freigegeben wird.
Deshalb muss das Objekt mit Assign() kopiert werden. So werden die Inhalte kopiert; nicht der Zeiger.