Thema: Delphi ADS - Fullname

Einzelnen Beitrag anzeigen

Udontknow

Registriert seit: 17. Jun 2002
223 Beiträge
 
#4

Re: ADS - Fullname

  Alt 26. Jan 2007, 16:33
Du hast mich ein wenig falsch verstanden. Da es ein Interface ist, musst du normalerweise eben gerade NICHT dafür sorgen, das Objekt eigenhändig freizugeben. Interfaces verfügen über eine Referenz-Zählung, sobald sie feststellen, daß von aussen keine Objekte mehr das Interface "offenhalten", wird automatisch der Destruktor des Objekts, das dieses Interface unterstützt, aufgerufen. Und da vermute ich auch den Fehler. Evtl. benutzt du eine falsche Version der ActiveX-DLL, in der das Objekt implementiert ist? Vielleicht gibt es neue Interfaces, die stattdessen zu nutzen sind, wobei es dann aber eigentlich unsinnig ist, das Objekt weiterhin das Interface unterstützen zu lassen, wenn es dann fehlerhaft arbeitet...

Mit dem Code wollte ich dir lediglich zeigen, daß es daran liegt, daß das Interface freigegeben wird, es sollte keine Lösung sein.
Ein hässlicher und unsauberer Workaround wäre natürlich ein try/except um das NIL-Setzen der Interface-Variable, aber wenn sonst nichts hilft...

Cu,
Udontknow
  Mit Zitat antworten Zitat