Mal so eine Frage am Rande. Was genau versuchst du da eigentlich? Handelt es sich dabei um zwei getrennte Anwendungen oder um eine Anwendungen und eine
DLL? Denn irgendwie konnte ich nicht rausfinden was du da eigentlich genau vor hast.
Wenn es nur eine
DLL ist dann kannst du problemlos mit pchar das Ganze erledigen.
Wenn es zwei getrennte Anwendungen sind dann solltest du dir vor Augen halten, dass der Speicher normal nur für die Anwendung in einem virtuellen Speicherbereich gemappt werden. Und Pointer eignen sich dafür als Übertragungsmedium nicht. Du müsstest als entsprechend die Daten des Strings in dem SharedMemory Bereich ablegen. So wie das bei Zahlen von Hause aus der Fall ist. Und beim Auslesen müsstest du daraus wieder einen Text machen. Muss aber gestehen ist nur eine Vermutung, denn mit Shared Memory habe ich bisher noch so gut wie nichts gemacht.
PS: Strings in Delphi haben noch 8 Bytes Nutzinformationen die sich VOR dem eigentlichen Pointer befinden.