habe gerade festgestellt, dass meine Klasse nach FreeAndNil nicht sicher NIL ist.
Das ist jetzt vll. übermäßig penibel, aber deine Klasse kann nicht nil werden.
Du schreibst eine Klasse. Davon kannst du Instanzen erzeugen (mit .Create()) und du speicherst Verweise (/Referenzen) auf diese Instanzen in Variablen. Diese Verweise können nil werden.
Aber wenn ein Verweis nil wird, werden nicht alle Verweise auf die gleiche Instanz auch nil. Ich vermute, du machst sowas:
Delphi-Quellcode:
var a, b: TTest;
begin
a = TTest.Create();
b := a;
FreeAndNil(a);
// Ergebnis:
a = nil
b = 0x56a4bf00 // Verweist noch auf die Adresse, darf nicht mehr zugegriffen werden