Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Interface und Zugriffsverletzung

  Alt 22. Jul 2007, 08:00
Hallo,

ohne jetzt überhaupt reinzuschauen

Interfaces unter Delphi sind COM-Interfaces.
Die daranhängendenden Objekte werden "wild" freigegeben,
wenn das Interface seine Gültigkeit verliert.

Wird das Interface z.B. als lokale Variable definiert,
wird nach Beenden der Methode auch das Objekt freigegeben.
Da muss man dann Rumtricksen mit _AddRef und Release.
Deine Interfaces müssen die beiden Methoden überschreiben
und dort gar nichts tun, also keine Referenz hochzählen und Runterzählen.
Das Interface muss dann selber wieder freigegeben werden
(auf NIL setzen reicht wohl nicht).


Ich bin da auch schön reingefallen.

Ich wollte ein c# Bsp 1:1 nach Delghi übersetzen
und hatte auch AV ohne Ende.

Setze mal einen Breakpoint auf den Destructor der Klasse,
dann siehst du, was ich meine.


Heiko
Heiko
  Mit Zitat antworten Zitat