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