Hmm..
besser so
Delphi-Quellcode:
function GetUsername:
String;
var
Buffer:
array[0..256]
of Char;
// UNLEN (= 256) +1 (definiert in Lmcons.h)
Size: DWord;
begin
Size := length(Buffer);
// length stat SizeOf, da Anzahl in TChar und nicht BufferSize in Byte
if not Winapi.Windows.GetUserName(Buffer, Size)
then
RaiseLastOSError;
SetString(Result, Buffer, Size - 1);
end;
Lt.
https://msdn.microsoft.com/de-de/lib...(v=vs.85).aspx
ist Size die Länge in TChars, nicht in Bytes...
SizeOf liefert bei
Unicode aber nicht die 256 Chars, sondern 515 Bytes zurück, somit 512 TChars...