Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi DLL entlädt sich nach Umstellung von Delphi 2007 auf XE nicht mehr (https://www.delphipraxis.net/163909-dll-entlaedt-sich-nach-umstellung-von-delphi-2007-auf-xe-nicht-mehr.html)

FXL 21. Okt 2011 08:16

DLL entlädt sich nach Umstellung von Delphi 2007 auf XE nicht mehr
 
Hi,

ich habe gestern angefangen mein Delphi Projekt von 2007 auf XE umzustellen.

Zu meinem Projekt ersteinmal: Mein Projekt ist eine DLL die eine COM-Schnittstelle darstellt.

Das aufrufende Programm startet meine DLL korrekt und die Funktionen die die COM-Schnittstelle anbietet werden auch ausgeführt.

Das Problem ist seit der Umstellung folgendes:

Das aufrufende Programm wird geschlossen, aber der Prozess (Fremdprogramm.exe) bleibt im Speicher stehen und wird nicht beendet?

Was könnte diesen Effekt auslösen? Das aufrufende Programm wurde nicht verändert, nur die DLL wurde migriert!


Was ich bisher probiert habe:

- Habe ein kleines Testprojekt angelegt (in XE) und habe einfach mal Load/FreeLibrary ausgeführt - selber effekt, jetzt bleibt die exe des Testprojektes im Speicher stehen.

- DLL_PROCESS_DETACH - wird beim FreeLibrary ausgelöst (wenn das was hilft)


Danke für die Tips/Hinweise
Gruß FXL

himitsu 21. Okt 2011 08:19

AW: DLL entlädt sich nach Umstellung von Delphi 2007 auf XE nicht mehr
 
Arbeitest du mit Threads, wo einer nicht geschlossen wird?

Ansonsten würde ich die DLL mal debuggen und nachschauen, was beim Beenden passiert.

FXL 21. Okt 2011 08:55

AW: DLL entlädt sich nach Umstellung von Delphi 2007 auf XE nicht mehr
 
nein, keine threads.

FXL 21. Okt 2011 11:27

AW: DLL entlädt sich nach Umstellung von Delphi 2007 auf XE nicht mehr
 
Liste der Anhänge anzeigen (Anzahl: 1)
kurzer Nachtrag, vielleicht hilft diese Info ja:

- Ich habe festgestellt, dass sich die DLL nicht mehr Registrieren lässt - Ansicht -> Typbibliothek -> Typbibliothek registrieren --> Delphi bleibt "hängen"

- tregsvr.exe die DLL "draufgezogen" (siehe Anhang)

FXL 21. Okt 2011 13:29

AW: DLL entlädt sich nach Umstellung von Delphi 2007 auf XE nicht mehr
 
noch ein Nachtrag:

Hab jetzt einfach mal geguckt welche Unit vielleicht für den Effekt verantwortlich ist. Ich habe meine eigenen Units auskommetiert und dann hat es normal funktioniert.

Im Folgenden habe ich durch Zufall die neue "HtmlHelpViewer.pas" wieder mit aufgenommen und es trat der selbe Effekt auf wie oben beschrieben.

Also scheint es nicht nur an meinen Units zu liegen. Es scheint mir eher so als habe ich ein allgemeines Problem - welches dies ist, habe ich leider keine Ahnung!

Wenn ich debugge bleibt er stehen bei:

Delphi-Quellcode:
initialization
  HelpViewer := THtmlHelpViewer.Create;
  [B]HelpIntfs.RegisterViewer(HelpViewerIntf, HelpViewer.FHelpManager);[/B]

Kann jemand noch einen "Tip" abgeben...


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:59 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