[fpc-pascal] SysUtils.GetEnvironmentVariable

Marcos Douglas md at delfire.net
Thu Mar 29 05:31:02 CEST 2012

On Wed, Mar 28, 2012 at 6:40 PM, Michael Van Canneyt
<michael at freepascal.org> wrote:
> 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.

I know that I have to define the environment variable before or after
starting the application or IDE.
As I said, works in WinXP... but I had a little problem with a client
using Win7 so, I talked about this on lazarus-br list and asked to
somebody do the test on Win7 and they said the test did not work so, I
wrote here.

Marcos Douglas

More information about the fpc-pascal mailing list