comp.lang.ada
 help / color / mirror / Atom feed
From: Frank Beard <frank_ada2000@yahoo.com>
To: TARAN TRIPATHI <tarantripathi@ieee.org>, comp.lang.ada@ada-france.org
Subject: Re: Accessing Windows environment vairables in ObjectADA on windows
Date: Mon, 18 Oct 2004 13:01:08 -0700 (PDT)
Date: 2004-10-18T13:01:08-07:00	[thread overview]
Message-ID: <mailman.27.1098129710.10401.comp.lang.ada@ada-france.org> (raw)
In-Reply-To: <b949b6a7.0410142325.3a379563@posting.google.com>

You could look at Pascal Obry's POSIX Windows package
(http://perso.wanadoo.fr/pascal.obry/archive/w32posix.html).
 The link to download it is at the bottom of the page.
It is bascially the POSIX spec wrapped around the
Win32 calls.  

Look in
POSIX_Process_Environment.Environment_Value_Of.  I've
used it and it works.

Frank

--- TARAN TRIPATHI <tarantripathi@ieee.org> wrote:

> Hi All,
> 
> This is what I have.
> 
> I have a win batch file which sets an environment
> variable say
> "TEST_SOURCE_DIR"
> 
> setlocal
> ..
> set TEST_SOURCE_DIR=%1
> ...
> endlocal
> 
> For the purpose of seeing how to do it I used set
> TEST_SOURCE_DIR=C:\
> on command prompt to set the variable.
> 
> I have to access this evironment variable in my ADA
> code.
> This is test code I wrote:
> 
> with ADA.Text_IO,System.RTS.Win32;
> procedure GetEnvVar is
>     EnvVal:String(1..100):=(others=>' ');
>     len:System.RTS.Win32.DWORD:=100;
> begin
>      
>
Len:=System.RTS.Win32.GetEnvironmentVariable("TEST_SOURCE_DIR",EnvVal'Address,Len);
>       Ada.Text_IO.Put_Line(EnvVal);
> end GetEnvVar;
> 
> The GetEnvironmentVariable function is defined in
> System.RTS32.Win32
> packages in Win32INT file.
> 
> The problem is that the GetEnvironmentVariable
> function returns null
> for TEST_SOURCE_DIR but gives the correct value for
> all other Env
> variables like HOME, ALLUSERSPROFILE,APPDATA,
> PROCESSOR_ARCHITECTURE
> etc, but never for TEST_SOURCE_DIR.
> 
> Also the funnier thing is that if I donot catch the
> return value of
> GetEnvironmentVariable funtion and use it as such
> 
>
System.RTS.Win32.GetEnvironmentVariable("TEST_SOURCE_DIR",EnvVal'Address,Len);
> I get a compiler error
> " Error: line 34 col 19 LRM:5.1(4), Procedure call,
> entry call, or
> code statement expected, Continuing "
> which relates to BNF for simple statement. I believe
> we need not
> necessarily capture the return value of any
> function(?)
> 
> Does the variable being local or system variable
> make any difference?
> 
> I googled many a times for this but no help. I've
> looked around at
> FAQ's and the
> adahome reference pages, but I haven't found
> anything.
> I an using ObjectAda 7.2 on Windows NT.
> 
> I'm not supposed to use florist package or POSIX/ADA
> interface. Even a
> C library is not assured so that I can use #pragma
> Interface(C,getenv).
> I have to use the GetEnvironmentVariable function. 
> 
> Any help or pointers would be appreciated.
> Thanx in advance.
> 
> Regards,
> Taran.
> _______________________________________________
> comp.lang.ada mailing list
> comp.lang.ada@ada-france.org
>
http://www.ada-france.org/mailman/listinfo/comp.lang.ada
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 



      parent reply	other threads:[~2004-10-18 20:01 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-15  7:25 Accessing Windows environment vairables in ObjectADA on windows TARAN TRIPATHI
2004-10-15 10:02 ` Marius Amado Alves
2004-10-15 10:07 ` Marius Amado Alves
2004-10-15 10:15 ` Marius Amado Alves
     [not found] ` <311c6b78.0410150755.36b2e872@posting.google.com>
2004-10-16  1:18   ` Jeffrey Carter
2004-10-16  3:09 ` Steve
2004-10-18 20:01 ` Frank Beard [this message]
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox