Einzelnen Beitrag anzeigen

Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#4

AW: Wann is Class von TObject abgeleitet (FreeAndNil)

  Alt 29. Mär 2020, 17:30
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
  Mit Zitat antworten Zitat