Moin Lefko,
ich meinte die
API Funktion
Die Kapselung kennt D5 nicht.
Probier das hier mal aus.
Delphi-Quellcode:
var
pBuf : PChar;
dwLen : DWORD;
begin
// Mit Hilfe der Funktion die erforderliche Buffergrösse ermitteln
pBuf := nil;
dwLen := 0;
dwLen := GetEnvironmentVariable('COMPUTERNAME',pBuf,dwLen);
inc(dwLen);
// und dann erst auslesen
pBuf := AllocMem(dwLen);
try
if GetEnvironmentVariable('COMPUTERNAME',pBuf,dwLen) = 0 then begin
ShowMessage(SysErrorMessage(GetLastError));
end else begin
ShowMessage(trim(pBuf));
end;
finally
FreeMem(pBuf,dwLen);
end;
end;
Wie in C üblich gibt die Funktion ihren Rückgabewert in einen Speicherbereich aus, den man als Pointer (in diesem Falle Pointer auf Character) übergibt, und der vorher in der erforderlichen Grösse reserviert werden muss. (Netxxx Funktionen unter NT sind hier eine Ausnahme).