@Ratte: Willkommen zur Zugriffsverletzung bei der letzten Schreiboperation. Length gibt dir nämlich Ord(msg[0]) zurück, und das ist zufällig die Anzahl Zeichen im String. Das -1 im SetLength musst du also weglassen.
Das Zurückumwandeln funktioniert jetzt ganz einfach:
Delphi-Quellcode:
var msg: string;
new_msg: array of char;
i: integer;
begin
setlength(msg, length(new_msg));
for i := 1 to Length(new_msg) do
begin
msg[i] := new_msg[i-1];
end;
end;
Greetz
alcaeus