Please find below the test code I am using
1) Makefile ****************************************************************************** PC=gpc PFLAGS= -DSOLARIS PLINK = -lgpc
VPATH = /home/kvsspl/
ModDemo3.o :ModDemo3.pas $(PC) --automake -c $(PFLAGS) ModDemo3.pas
DemoMod3.o :DemoMod3.pas $(PC) --automake -c $(PFLAGS) DemoMod3.pas
DemoMod4.o :DemoMod4.pas $(PC) --automake -c $(PFLAGS) DemoMod4.pas
ModDemo3 :ModDemo3.o DemoMod3.o DemoMod4.o $(PC) -o ModDemo3 ModDemo3.o DemoMod3.o DemoMod4.o $(PLINK)
clean : rm -f *.o *.out xtramain ModDemo3 *.gpi *.gpm ****************************************************************** 2) DemoMod4.pas ****************************************************************** Module DemoMod4 (Output);
export DemoMod4=all; type FileNameString = string(80); var PAS_DATABASE : FileNameString; end;
end. (*Is it possible to make these variables global, without using export?*) ****************************************************************** 3) DemoMod3.pas ****************************************************************** Module DemoMod3 (Output);
export DemoMod3=all; procedure readenv; end;
type FileNameString = string(80);
var PAS_DATABASE : FileNameString;external; uses gpc;
procedure readenv; var pascalEnv : string(80);
begin pascalEnv:='PAS_DATABASE'; pascalEnv:=getenv(pascalEnv); writeln('module pascalEnv = ',pascalEnv); PAS_DATABASE := Copy(pascalEnv,1,Length(pascalEnv)); writeln('module PAS_DATABASE = ',PAS_DATABASE); (*here PAS_DATABASE is printing nothing but pascalEnv is ok*) end; end. ****************************************************************** 4) ModDemo3.pas ****************************************************************** program ModDemo3 (Output); uses gpc; type FileNameString = string(80);
procedure readenv;external; var PAS_DATABASE : FileNameString;external;
begin readenv; writeln('program PAS_DATABASE = ',PAS_DATABASE); (*here also PAS_DATABASE is printing nothing*) end. ******************************************************************
what I want is to access 'PAS_DATABASE' variable in all the modules, when I set it in DemoMod3.pas line PAS_DATABASE := Copy(pascalEnv,1,Length(pascalEnv))
Please suggest me as how to make it work?
Regards Hari
__________________________________ Yahoo! Mail - PC Magazine Editors' Choice 2005 http://mail.yahoo.com