>>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 >>>>