Kann es auch sein das der Speicher in der
DLL wieder freigegeben wird? Sprich: Du einen ungültigen Pointer zurückbekommst?
Machs lieber so: Die Exe übergibt ein array[0...x] of char an die
DLL und die
DLL füllt dieses Array.
Anschließend kannst Du den Inhalt des arrays in ein normalen Delphi-String kopieren.
Windows Vista - Eine neue Erfahrung in Fehlern.