Hallo,
beim Portieren einige meiner alten Projekte nach Delphi 2010 ist mir eine Sache übel aufgestoßen. Früher funktionierte die Umwandlung eines Array of Char in einen String problemlos:
Delphi-Quellcode:
var
Arr: Array[0..12] of char;
str: string;
...
Arr := str;
Das geht leider nicht mehr und ich musste auf folgendes Hilfskonstrukt umschwenken:
Delphi-Quellcode:
procedure StringToArray(const S: AnsiString; out Arr: Array of AnsiChar);overload;
begin
fillchar(Arr, sizeof(Arr), 0);
move(S[1], Arr, min(length(S),sizeof(arr)));
end;
procedure StringToArray(const S: String; out Arr: Array of Char);overload;
begin
fillchar(Arr, sizeof(Arr), 0);
move(S[1], Arr, min(length(S),sizeof(arr)));
end;
Kennt ihr eventuell eine elegantere Lösung zum Umfahren dieses Problems?
Peter