Dank an Carl Peeraer für diesen Hinweis.
Der folgende Code stellt eine Funktion bereit, die über die Windows API auf die Umgebungsvariablen zugreift und den entsprechenden Wert zurückgibt.
function GetEnvironmentVariable(lpName: PChar; lpBuffer: PChar; nSize: DWORD): DWORD; stdcall;
Function Read_Arm_Var(XENV:PCHAR) : String;
Var Env_String : ARRAY[0..255] OF CHAR;
Begin
Env_String:='';
If (GetEnvironmentVariable(XENV,@Env_String,255)<>0)
Then Read_Arm_Var:=Trim(Env_String)
Else Read_Arm_Var:='';
End;
Dmitry Skorniakov empfiehlt dagegen folgenden Code, der noch einfacher erscheint:
function GetEnvVar(Name:string):string;
begin
Result := SysUtils.GetEnvironmentVariable(Name);
end;