Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by alzaimar,
9. Nov 2005
So ist das nunmal, wenn man einen 'falschen' Ansatz hat.
Du kannst die Konstruktoren Create und den Destruktor Destroy in '_create' und '_Destroy' umbenennen.
Create wird eine Class function, die Dir das eine Objekt liefert und den ref-zähler hochsetzt.
Destroy wird eine einfache Methode, die den RefCount wieder runterzählt und ggf das interne Objekt freigibt
Aufwand: 10 minuten (wenns...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by alzaimar,
8. Nov 2005
Free ist aber genauso definiert:
Procedure TObject.Free;
Begin
If Self<>Nil Then Destroy;
End;
Das dient genau dazu, Nil-Referenzen auf Klassen 'aus Versehen' nochmals freizugeben, ohne das einem das Programm um die Ohren ballert.
Du kannst ohne Probleme TFooObject(4711).SomeMethod ausführen. Das klappt sogar, solange keine Felder der Klasse verwendet werden. Aber ich wiederhole ja nur...