>public cServerDataDir,oSystem >oSystem=createobject('redirect_dataenvironment') >cServerDataDir = '\\someserver\RealRunTimePath' &&Should normaly come from some ini file > >* Then you have to insert tiny call to this object from every form DE ; > >* DE.BeforeOpenTables method >oSystem.form_de(this) > >>
>define class redirect_dataenvironment as custom > > procedure get_database > lparameters cDatabaseName > local cDatabaseName > > *** Here you build your own path construction for > *** multiple databases, > *** instead of simple one I used for my sample > *** with one database > > return addbs(cServerDataDir) + 'tastrade.dbc' > > procedure form_de > lparameters oDataEnvironment > local i,j,db_name,arr_obj(1) > amembers(arr_obj,oDataEnvironment,2) > for i = 1 to alen(arr_obj) > j = oDataEnvironment.&arr_obj(i) .baseclass > if upper(alltrim(j)) = 'CURSOR' > db_name=upper(justfname(allt(oDataEnvironment.&arr_obj(i) .database ))) > oDataEnvironment.&arr_obj(i) .database=this.get_database(allt(db_name)) > endif > endfor > > >enddefine >>