wenn du 0-bytes bzw. steuerzeichen ausgeben willst, kannst du keinen string (auch kein PChar) nehmen, sondern musst auf ein binäres format umsteigen (z.b. array of byte oder TMemoryStream). Die geschichte mit der
dll würde ich komplett außer acht lassen, da du damit nur Probleme bekommen wirst.
ungefähr so (ungetested):
Delphi-Quellcode:
ms:TMemoryStream;
ch:string[2];
b:byte;
i,c:integer;
ms:=TMemoryStream.create;
if odd(length(s)) then s:='0'+s;
c:=length(s) div 2;
for i:=0 to c-1 do
begin
ch:=copy(s,i*2+1,2);
b:=StrToInt('$'+ch);
ms.write(b,1);
end;
ms.savetoFile('bin.dat');
ms.free;
HTH Frank