Und da String/AnsiString/UnicodeString (nicht WideString) intern "LongStrings" und das bereits Pointer sind, sollte das Dereferenzieren von pstring(p1)^ ebenfalls falsch sein, da es wohl eher string(p1) lauten müsste.

s1:=string(p1);
Also DAS ist wirklich ne
EVIL function.
Hat bei mir grad Windows gekillt. (mit D7 getestet, und im zweiten anlauf hat windows überlebt)
krallt sich den Maximal verfügbaren
RAM