Einzelnen Beitrag anzeigen

Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.604 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Auf legalen zugriff prüfen vor AV oder SegFault

  Alt 7. Okt 2019, 13:52
Nein, nicht wirklich. Zugriffe auf bereits freigegebene Objekte können eine Zeit lang weiterhing funktionieren (wenn auch ggf. Unsinn anstellen), solange deren Speicher nicht anderweitig benutzt wurde.

Und selbst wenn nicht, muss ja nicht immer ein ungültiger Self-Pointer sein, der einen Exception auslöst, sondern es kann eine im Objekt verwendete andere Objektreferenz sein, die inzwischen überschrieben wurde oder ein Pointer auf einen String oder auf ein Array.

Je nachdem, wen man fragt, wird FreeAndNil empfohlen oder davon abgeraten. Zumindest sorgt es in den einfachen Fällen (also: Es gibt nur eine Referenz auf das Objekt) dafür, dass es keine Pointer auf freigegebene Objekte übrigbleiben.
Thomas Mueller
  Mit Zitat antworten Zitat