Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

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

Re: Umgang mit PChar - Speichermanagement

  Alt 28. Dez 2007, 14: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.

...
$2B or not $2B
  Mit Zitat antworten Zitat