Delphi-Quellcode:
var
Buffer : PChar;
test : PChar;
begin
GetMem(Buffer, 20);
GetMem(test, 4);
test := PChar('!!!!');
len := DLLFunc(@test, @Buffer, 20);
ShowMessage(PChar(Buffer));
...
Die Klammeraffen in der Zeile mit dem DLLFunc-Aufruf scheinen mir zu viel des Guten. Vielleicht solltest du mal mit typisiertem Adress-Operator arbeiten.