FAQ1: Tuning the SoftC Database Library

The SoftC Database Library can be "tuned" by using conditional compilation statements in order to include or remove various features. In order to utilize a compilation definition, either add or remove the particular definition from the affected buildxxx.ini file.

Tuning for xBase product support

By default, support for all xBase products are included in the library. Sometimes this will make your executable too large for available memory. We have provided several methods of targeting the library for your specific needs.

Definition 

Description 

__ALL__ 

Includes support for all xBase styles 

__CLIPPER__ 

Includes support for Clipper 87 and 5.x only 

__DBASE__ 

Includes support for the dBASE family only 

__DBASE3__ 

Includes support for dBASE III only 

__DBASE4__ 

Includes support for dBASE IV only 

__DBASE5__ 

Includes support for dBASE 5 only 

__FOX__ 

Includes support for the Foxbase/FoxPro family only 

__FOXBASE__ 

Includes support for Foxbase only 

__FOXPRO1__ 

Includes support for FoxPro 1.x only 

__FOXPRO2__ 

Includes support for FoxPro 2.x only 

__FOXPRO3__ 

Includes support for FoxPro 3.x only 

Tuning for extended field types

The library also supports over a dozen 'extended' field types. If you are interested in strict xBASE compliance or you just don't plan on using these field types, you can recompile the library omitting the definition of __EXTENDED_DBF__.

Tuning for the expression evaluator

The SoftC Expression Evaluator is quite powerful and also quite large. To disable the parsing of expressions (i.e. using only field names in your expressions) you can define __SMALL_EVAL__ when rebuilding the libraries.

Tuning v3.3 or v3.4 to include v3.22 function names

To recompile the library to include additional code to support v3.22 function names define DB_V322.

Tuning v4.1 or v4.2 to include v4.00 function names

To recompile the library to include additional code to support v4.00 function names define DB_V400.

Did you find this article useful? Please tell us.

Back to FAQs page.