#include "AppEvent.ch" #include "dbfdbe.ch" #include "foxdbe.ch" #include "cdxdbe.ch" #include "dmlb.ch" PROCEDURE dbeSys() // Set the database driver set(_SET_COLLATION, -1) // -1 = ASCII from xbase 2.0 collat.ch; definition from SET COLLATION TO in std.ch uses ASCII which appears to be the clipper default // Load engines and build DbeLoad( "FOXDBE", .T.) DbeLoad( "CDXDBE",.T.) DbeBuild( "FOXCDX", "FOXDBE", "CDXDBE" ) // Set up for Fox 2.x compatabilty // The Clipper apps will use cmxfox52.obj to force Fox 2.x locking compatability DbeInfo(COMPONENT_DATA, FOXDBE_CREATE_2X, .T. ) DbeInfo(COMPONENT_DATA, FOXDBE_LOCKMODE, FOXDBE_LOCKMODE_VISUAL) // Respects clipper locks (f and r) when clipper linked with CMXFOX52.obj //DbeInfo(COMPONENT_DATA, FOXDBE_LOCKMODE, FOXDBE_LOCKMODE_2X) // Respects clipper file locks, not rlocks //DbeInfo(COMPONENT_DATA, FOXDBE_LOCKMODE, FOXDBE_LOCKMODE_AUTO) // Not tested //DbeInfo(COMPONENT_DATA, FOXDBE_LOCKMODE, FOXDBE_LOCKMODE_CLIPPER) // Respects all locks but need to remove cmxfox52.obj from link script // Set default DBE to DBFCDX DbeSetDefault( "FOXCDX" ) // Increase the index file lock retry count // index files are locked exclusively whenever they are WRITTEN and *READ* // increasing this timeout helps avoid failure of this lock under increasing loads // this is a possibility DbeInfo( COMPONENT_DATA, CDXDBE_LOCKRETRY, 1000000) // Configure CDXDBE for COMIX compatability == FoxPro 2.x CDX's DbeInfo( COMPONENT_ORDER, CDXDBE_MODE, CDXDBE_COMIX ) RETURN