AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Speicherverlust in externer DLL

Ein Thema von Bernhard Geyer · begonnen am 28. Feb 2006 · letzter Beitrag vom 3. Mär 2006
Antwort Antwort
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.177 Beiträge
 
Delphi 10.4 Sydney
 
#1

Speicherverlust in externer DLL

  Alt 28. Feb 2006, 10:40
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?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#2

Re: Speicherverlust in externer DLL

  Alt 28. Feb 2006, 10:58
Wahrscheinlich geht das nicht.
Der Memorymanager ist meist DLL-intern eingelinkt und gibt nur in seinen privaten Pool frei.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.177 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Speicherverlust in externer DLL

  Alt 28. Feb 2006, 11:00
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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Vjay

Registriert seit: 2. Dez 2003
Ort: Berlin/Eschede
481 Beiträge
 
Delphi 7 Professional
 
#4

Re: Speicherverlust in externer DLL

  Alt 28. Feb 2006, 11:06
Muss die DLL denn unbedingt in deinem Prozess laufen? Worauf ich hinaus will dürfte erkennbar sein...
Wer später bremst ist eher tot.
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.130 Beiträge
 
Delphi 10.3 Rio
 
#5

Re: Speicherverlust in externer DLL

  Alt 28. Feb 2006, 12:18
Kannst Du die DLL nicht über ein 2. Progogramm aufrufen...
Wenn diese beendet wird, sollte Windows den gesammten Speicher wieder freigeben...

Frank
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.177 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Speicherverlust in externer DLL

  Alt 28. Feb 2006, 18:37
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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.177 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Speicherverlust in externer DLL

  Alt 3. Mär 2006, 14:49
Noch jemand Ideen ... *PUSH*
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:02 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