Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Objekt in ROT registrieren und deregistrieren (https://www.delphipraxis.net/170634-objekt-rot-registrieren-und-deregistrieren.html)

MetalChris 26. Sep 2012 13:50

Delphi-Version: XE2

Objekt in ROT registrieren und deregistrieren
 
Hi,
habe das Problem, das wenn ich versuche das regestrierte Object wieder aus der ROT zu löschen, er mir mit einem Stackoverflow aussteigt


Das Object regestriere ich so:

Delphi-Quellcode:
procedure TApplication.Initialize;
begin
  inherited;

  GlobalCOMInstance := Self;

  //Register object in ROT
  OleCheck(RegisterActiveObject(Self, CLASS_Application, ActiveObject_Weak, FROTCookie));
  OleCheck(CoLockObjectExternal(Self, True, True));
end;



Nach dem schließen versuche ich das Objekt aus der ROT zu löschen, hier steigt er dann mit einem Stackoverflow aus:

Delphi-Quellcode:
destructor TApplication.Destroy;
begin
  //Remove object from ROT
  TRY
    OleCheck(CoLockObjectExternal(Self, False, True));
    OleCheck(RevokeActiveObject(FROTCookie, nil));
  EXCEPT

  END;

  inherited;
end;

MetalChris 28. Sep 2012 07:28

AW: Objekt in ROT registrieren und deregistrieren
 
Komisch ist nur das es unter Delphi 7 ohne Probleme lief.

Seit Umstieg auf XE2 bekomme ich beim schließen diesen Stackoverflow.

Hat jemand Erfahrungen damit?

MetalChris 29. Okt 2012 09:54

AW: Objekt in ROT registrieren und deregistrieren
 
Kennt sich jemand mit OLE aus und weiß, was sich seit Delphi 7 darin geändert hat.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz