Einzelnen Beitrag anzeigen

Bodenseematze

Registriert seit: 10. Jul 2023
50 Beiträge
 
#4

AW: Verweis auf Interface-Instanz weitergeben - ist das erlaubt?

  Alt 27. Feb 2024, 12:12
Wenn du also ein solches Objekt in einer Interfacereferenz speicherst und das Objekt freigegeben wird, zeigt die Interfacereferenz auf ein ungültiges Objekt.
Das ist mir schon klar - das sollte auch nicht passieren...


Allerdings ist sie deshalb nicht 0, was genau das Problem an der Stelle ist. Deshalb muss man dort aufpassen, was man tut.
Die Klassen-Instanz, auf die der Interface-Verweis zeigt, wird als letztes abgebaut --> das sollte eigentlich passen
Mir kommt es so vor, als ob durch das Verlassen der Get-Methode der Interface-Zeiger abgeräumt und auf nil gesetzt wird...

Das kannst du nicht im Debugger nachstellen und dort prüfen?
Hmm, ich habe den oben geposteten Beispielcode mal vervollständigt und als Mini-Delphi-Projekt angelegt.
Da muss noch ein anderes (für mich gerade nicht sichtbares) Problem bestehen - da kommt jetzt bei mir beim Start im Debugger eine Access-Violation;
allerdings ohne, dass ich den Call-Stack sehen kann

Ich habe das Projekt mal als .zip angehängt...
Angehängte Dateien
Dateityp: zip IfTest.zip (6,5 KB, 1x aufgerufen)
  Mit Zitat antworten Zitat