Page 1 of 1

Clipper Incompatible CDX Indexs

Posted: Mon Apr 09, 2012 10:22 am
by dougtanner
I am converting several large system from Clipper 5.2 to Alaska. I am having a problem if xBase++ creates a CDX Index, it is incompatible with Clipper. Clipper will crash with a memory exception and dump its registers. When I delete the Indexes and let Clipper create them, both Clipper and xBase++ runs them ok. I have added the " i := dbeinfo(COMPONENT_ORDER, CDXDBE_MODE, CDXDBE_COMIX) command to my dbesys but is doesn't seem to help with the compatibility. Eventually this problem will go away. Does anyone have any experience with this issue?

Doug

Re: Clipper Incompatible CDX Indexs

Posted: Mon Apr 09, 2012 10:44 am
by rdonnay
Are you using COMIX with Clipper or DBFCDX?

Re: Clipper Incompatible CDX Indexs

Posted: Mon Apr 09, 2012 11:48 am
by Auge_Ohr
dougtanner wrote:

Code: Select all

dbeinfo(COMPONENT_ORDER, CDXDBE_MODE, CDXDBE_COMIX)
your Code is OK, but it is for COMPONENT_ORDER only. you need to open DBF "prepared" for Cl*pper using COMPONENT_DATA

Code: Select all

   //
   // using Cl*pper Comix/SixDrive
   //
   DbeInfo( COMPONENT_DATA, FOXDBE_CREATE_2X, .T. )
   DbeInfo( COMPONENT_DATA, FOXDBE_LOCKMODE, FOXDBE_LOCKMODE_CLIPPER )
   DbeInfo( COMPONENT_DATA, FOXDBE_LOCKRETRY, 100000 )  // Default is 3

   //
   // now _ORDER Component
   //
   Dbeinfo( COMPONENT_ORDER, CDXDBE_MODE, CDXDBE_COMIX)
   DbeInfo( COMPONENT_ORDER, CDXDBE_LOCKRETRY, 100000 ) // Default is 3

   //
   // do NOT use together with Cl*pper
   //
   * DbeInfo(COMPONENT_ORDER, DBE_LOCKMODE, LOCKING_EXTENDED)
p.s. SET COLLATION to same as your Cl*pper DBF use

Re: Clipper Incompatible CDX Indexs

Posted: Tue Apr 10, 2012 8:05 am
by dougtanner
Roger,

Yes I am. The SIX CDX Drivers were the only ones that worked reliably in several of my applications.

Auge_Uhr,

I will try that in my DBWSys

Doug