>Define Class AppObjectBase As Custom > > lExe = .f. > lDevMode = .f. > cAppName = "" > cCurrentModule = "" > cActiveForm = "" > cCurrentVersion = "" > cTempFilesPath = "C:\Temp\" > > oConfig = .null. > oUser = .null. > oSql = .null. > oTracker = .null. > oBO = .null. > > *--------------------------------------------------------------------------------------- > Procedure Init > > *-- In your override of this method, you'd wire up all the objects and properties > *-- that are hosted in this class. > > *-- Example setup work displayed below. Every app is different, so do whatever you need to > *-- get this global goApp ready for use by your application > *--------------------------------------------------------------------------------------- > > * This.oConfig = NewObject("LmConfig", "LmConfig.prg") > * This.oValues = NewObject("Values", "Values.prg") > > * lcRunningFilename = JustFname(_vfp.ServerName) > * This.cCurrentVersion = lcRunningFilename > > * If This.lDevMode and This.lUseTestData > * This.oConfig.Connstring = Strtran(This.oConfig.Connstring, "LMDB", "LMDB_TEST",1,99,1) > * Endif > > EndProc > > *--------------------------------------------------------------------------------------- > Procedure LogError(tcErrorMessage) > > *-- Again, in your override, handle any calls to LogError() however you neede to. > *-- If you assign This.oBO in the Init() method, then you can use the wwBusinessPro.LogError() method > *-- as shown below. If not, then override and do whatever magic you need or want to do to handle these calls. > > This.oBO.LogError(tcErrorMessage) > > Endproc > > *--------------------------------------------------------------------------------------- > Procedure lExe_Access > > Local lcApp, llExe > > lcApp = Sys(16,1) > llExe = '.EXE' $ Upper(lcApp) > > Return llExe > > Endproc > > *--------------------------------------------------------------------------------------- > Procedure lDevMode_Access > > Return !This.lExe > > Endproc > > > *--------------------------------------------------------------------------------------- > *- This handy method gives you a simple and common way to setup Classlibs and Procedure files > *-- into your app setup calls. > Procedure Require(tcAsset) > > DO CASE > CASE ".vcx" $ Lower(tcAsset) > Set Classlib To (tcAsset) Additive > > Case ".fll" $ Lower(tcAsset) > Set Library To (tcAsset) Additive > *-- Assumes .prg or no extension > Otherwise > Set Procedure To (tcAsset) Additive > ENDCASE > > EndProc > > >EndDefine > >