Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#10

Re: Umgang mit PChar - Speichermanagement

  Alt 28. Dez 2007, 13:30
GetMem und FreeMem weisen den zum Modul (EXE oder DLL) gehörigen Speichermanager an einen Speicherblock zu reservieren oder freizugeben.

Also muß du FreeMem im selben Modul (in deinem Fall der DLL) aufrufen, wo auch GetMem ausgeführt wurde.


Lösung 1: wurde schonmal gesagt, du verwendes Delphi-Referenz durchsuchenShareMem, FastMM, oder ähnliches, welches für beide Module den selben Speichermanager einrichten,

Lösung 2: du definierst in der DLL eine Funktion/Prozedur, welche FreeMem aufruft,
gibst diese wie "testproc" frei
und rufst statt FreeMem in der EXE dann diese Procedure auf, welche dann wiederum FreeMem in der DLL ausführt.

...
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat