Wenn es ein String ist und der Record+
DLL von dir stammen, dann statt Pointer ein WideString verwenden.
WideString ist der BSTR von Windows (
SysAllocStringLen) und kann ohne ShareMem zwischen getrennten Modulen (EXE/
DLL) übergeben werden.
Ansonsten mußt du halt casten (siehe Uwe), oder umkopieren, z.B.
SetString mit PBlob und BlobSize in einen AnsiString, UTF8String oder UnicodeString.
PChar und String wolltest du hier gleich vergessen, denn modulübergreifend sollte man immer nur mit statischen/festen Typen arbeiten.
String, Char und PChar sind tabu. (also AnsiString, UnicodeString, WideString, PAnsiChar, PWideChar, ...)
Integer/NativeInt könnte man auch mit auf die Liste setzen und dafür LongInt verwenden, aber da eine 32 Bit-
DLL nicht in einem 64 Bit Programm läuft, wäre es fast egal, aber wenn es z.B. um Prozessübergreifende Datenübertragung/-speicherung geht, dann das auch nicht.