06/12/98 READ.ME for SCOPE implementation ******************************** This package includes the following files: ****************************************** read.me you are just reading it test.prg small test program to show the functionality scope.ch just for the translation for usage of COMMANDs makefile.mak for the usage of NMAKE (make utility) scope.def this is the tricky file (do not delete it) scope.prg this is the SCOPE makedll.bat for all of you who do not have NMAKE project.xpj project file for the sample test.dbf sample table cl.bat MAKE batch for Clipper/Comix version What leaves to tell? ******************** 1. to build the project, please run MakeDLL or nMake -f makefile.mak first and then PBuild You should have a TEST.EXE then! 2. you can run TEST.EXE with or without a parameter: TEST starts the app with NTX DBE TEST CDX runs the app with CDX DBE; the Clipper app will run as CDX version anyway 3. if you try to run the app against the Clipper app, you need to make sure that the Clipper app built the CDX !!! 4. why does it work, but I did not change any code of my app, just linked a LIB? Have a look in SCOPE.DEF file. This shows a way, how you can overload every Xbase++ function, which means you do replace the origianal function of the Xbase++ runtime, just redirect the call to the replacement and there you can even use the original call. This works with eg. with the function Version() VERSION = _VERSION which results in the function _Version() of the DLL first even when you call Version() in your app (Version() is mapped to _Version() in your DLL; just call the app in the debugger to see what is happening exactly). VERY IMPORTANT NOTE: explaining and showing this feature to you makes support of Xbase++ very difficult. So, please do overload Version() when you use this feature!!! Otherwise we can't do a good support, because you overloaded a functionality. THANKS! Have fun with it, Frank++ ALASKA TechSupport