Hallo,
ich würde nachsehen was Windows für eine maximale Länge für den String angibt und mit einem Array fester länge arbeiten.
Delphi-Quellcode:
var
buffer: array[0..MaxBufferLength] of PChar;
begin
GetLocaleInfo (LOCALE_USER_DEFAULT, LCTYPE, buffer, SizeOf(buffer));
Result := string(buffer);
end;