[gelöst] GetEnvironmentVariable

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
Benutzeravatar
juelin
Beiträge: 267
Registriert: Sa 24. Jul 2021, 18:03
OS, Lazarus, FPC: Linux Ubuntu 22. Windows 10 Delphi 11.3 (L 0.9.xy FPC 2.2.z)
CPU-Target: 64Bit
Wohnort: Mannheim

[gelöst] GetEnvironmentVariable

Beitrag von juelin »

Hallo,
ich möchte mit "BUser:=GetEnvironmentVariable('USERNAME');" den Usernamen holen.
Das hat bisher auch immer geklappt.
GetEnvironmentVariable steht ja in USES SysUtils.
Jetzt brauche ich aber neben SysUtils auch Windows in USES.
da ich Varibale "Inputs: Array[0..3] of Windows.TInput;"
und Befehl "h:=ShellExecute(0, nil, PChar(f4), nil, nil, SW_SHOWNORMAL);" brauche.
Und nun kriege ich bei dem Befehl: BUser:=GetEnvironmentVariable('USERNAME');
foldende Fehlermeldung:
unit1.pas(606,12) Error: Wrong number of parameters specified for call to "GetEnvironmentVariable"
ascdef.inc(75,10) Error: Found declaration: GetEnvironmentVariable(PChar;PChar;LongWord):DWord;
Da scheint sich SysUtils und Windows zu beissen.
Hat Jemand eine Idee wie wir die Kuh vom Eis kriegen????
Danke und Gruß
Jürgen
Zuletzt geändert von juelin am Mi 21. Mai 2025, 13:36, insgesamt 1-mal geändert.

Benutzeravatar
theo
Beiträge: 10897
Registriert: Mo 11. Sep 2006, 19:01

Re: GetEnvironmentVariable

Beitrag von theo »

1. Die Reihenfolge (Windows, Sysutils) in "uses" könnte man ändern.
2. Bei solchen Konflikten kann man den gewünschte Unitnamen einfach voranstellen: SysUtils.GetEnvironmentVariable(..)
In deinem Beispiel hast du ja auch "Windows.TInput".

Mathias
Beiträge: 6927
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: GetEnvironmentVariable

Beitrag von Mathias »

Dieses Problem mit der WinAPI Unit kommt so viel für.
Da müsste man fas den Compiler modifizieren, das eine Warnung kommt, wen die Unit Windows nicht am Anfang platziert ist.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
juelin
Beiträge: 267
Registriert: Sa 24. Jul 2021, 18:03
OS, Lazarus, FPC: Linux Ubuntu 22. Windows 10 Delphi 11.3 (L 0.9.xy FPC 2.2.z)
CPU-Target: 64Bit
Wohnort: Mannheim

Re: GetEnvironmentVariable

Beitrag von juelin »

Hallo Theo,
danke für den Tip.
Hat prima geklappt.
Hätte ich auch selber drauf kommen können, aber vor lauter Bäumen den Wald nicht gesehen.
Also nochmal Danke.
Gruß
Jürgen

PascalDragon
Beiträge: 958
Registriert: Mi 3. Jun 2020, 07:18
OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
CPU-Target: Aarch64 bis Z80 ;)
Wohnort: München

Re: GetEnvironmentVariable

Beitrag von PascalDragon »

Mathias hat geschrieben: Mi 21. Mai 2025, 13:10 Da müsste man fas den Compiler modifizieren, das eine Warnung kommt, wen die Unit Windows nicht am Anfang platziert ist.
Nein.
FPC Compiler Entwickler

Antworten