[fpc-pascal] SysUtils.GetEnvironmentVariable

Michael Van Canneyt michael at freepascal.org
Wed Mar 28 23:40:48 CEST 2012

On Wed, 28 Mar 2012, Marcos Douglas wrote:

> Hi,
> I think SysUtils.GetEnvironmentVariable has a problem.
> I tried to use GetEnvironmentVariable on WinXP and Win7. Sometimes
> works on WinXP, others not. But never worked on Win7.
> I asked some friends to test on Linux and did not work too.
> My FPC is 2.6.1 rev 20648 on WinXP.
> The test:
> 1- Create a Environment Variable (eg: FOO).
> 2- Try this:
> procedure TForm1.Button1Click(Sender: TObject);
> begin
>  ShowMessage(SysUtils.GetEnvironmentVariable('FOO'));
> end;

Just tested.

Works fine on linux, provided the environment variable is defined BEFORE 
the program is started, and in the terminal that starts the program. 
(perfectly normal on linux)

So if you run the program under the IDE, the environment variable must 
be defined in the session that starts the IDE, BEFORE the ide is started.

Cannot comment on Windows, but I would be very surprised if it does not 
work, since many of our programs rely on it.

There again, be careful WHEN you define the environment variable. 
Before or after starting the application.


More information about the fpc-pascal mailing list