Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Speicherverlust in externer DLL (https://www.delphipraxis.net/64158-speicherverlust-externer-dll.html)

Bernhard Geyer 28. Feb 2006 10:40


Speicherverlust in externer DLL
 
Ich habe in meinem Programm eine externe DLL welche bei Verwendung einen Speicherverlust hat.

Da der Hersteller nicht bereit ist vernünftigen Support zu bieten bzw. Fehlerbehebung zu machen aber ich ohne diese DLL nicht auskomme (Hersteller ist einer der großen US-SW-Hersteller) wollte ich folgendes machen:

a, Hooken aller Speicherallokations/Freigabe-Funktionen und Mitprotokollierung der Anforderungen/Freigaben
b, Zwischenzeitliches Entladen der DLL's
c, Eigene Freigabe der restlichen Speicherlücken
d, Neues dynamisches Laden der DLL

Welche API-Funktionen Hooke ich hierzu am besten bzw. welche sind die gebräuchlichsten Funktionen?
Was müßte ich nocht beachten?

Robert Marquardt 28. Feb 2006 10:58

Re: Speicherverlust in externer DLL
 
Wahrscheinlich geht das nicht.
Der Memorymanager ist meist DLL-intern eingelinkt und gibt nur in seinen privaten Pool frei.

Bernhard Geyer 28. Feb 2006 11:00

Re: Speicherverlust in externer DLL
 
Zitat:

Zitat von Robert Marquardt
Wahrscheinlich geht das nicht.
Der Memorymanager ist meist DLL-intern eingelinkt und gibt nur in seinen privaten Pool frei.

Wenn ich aber die DLL freigebe und dann trotzdem noch nicht freigebene Anforderungen der DLL über die API-Funktionen habe reicht es mir doch diese nach selbst Richtung Windows freizugeben.

Vjay 28. Feb 2006 11:06

Re: Speicherverlust in externer DLL
 
Muss die DLL denn unbedingt in deinem Prozess laufen? Worauf ich hinaus will dürfte erkennbar sein...

Mavarik 28. Feb 2006 12:18

Re: Speicherverlust in externer DLL
 
Kannst Du die DLL nicht über ein 2. Progogramm aufrufen...
Wenn diese beendet wird, sollte Windows den gesammten Speicher wieder freigeben...

Frank :coder:

Bernhard Geyer 28. Feb 2006 18:37

Re: Speicherverlust in externer DLL
 
Außlagern in anders Programm ist schlecht da die DLL ein ActiveX-GUI-Control bereitstellt. Weiß auch noch nicht ob ich wirklich damit eine 100%ig sichere Lösung hinbekomme.

Bernhard Geyer 3. Mär 2006 14:49

Re: Speicherverlust in externer DLL
 
Noch jemand Ideen ... *PUSH*


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