Erstens sollte man für die länge des Buffers die Konstante MAX_COMPUTERNAME_LENGTH + 1 nehmen und zweitens wäre es wohl sinnvoll, dass Array auf die wirkliche Länge des Computernamens abzuschneiden.
Bei mir würde das so aussehen:
Delphi-Quellcode:
function ComputerName: String;
var
Size: DWORD;
begin
Size := MAX_COMPUTERNAME_LENGTH + 1;
SetLength(Result, Size);
if GetComputerName(PChar(Result), Size) then
SetLength(Result, Size)
else
Result := '';
end;