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
ShareMem, 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.
...