Apollo with DOS apps and DOS data
Apollo apps concurrently with CA-Clipper apps
DOS and Windows sorts characters differently. If your Apollo
apps (Windows, .NET etc.) needs to run concurrently with CA-Clipper
applications, and/or if your Apollo application is accessing DOS-based DBF
database files, you must run the Apollo application in Machine Mode.
A problem becomes apparent when it seems as though data is not
being added correctly to a database from either the Apollo app or the
CA-Clipper app. The issue is that the DOS-based indexes are being updated using
Windows sorting rules, which basically corrupts indexes and causes data to
appear as "invalid" or to not appear at all.
Refer to your Apollo help file(s) and search for "OEMCollation"
and "sort order". Generally, you must call "SDEEngine.SetMachineCollation" at
the start of your application or before you open any tables. This tells Apollo
to use DOS-based sorting rules instead of the default Windows sorting rules.
Furthermore, you must also set OEMTranslate=True for each table
object. Refer to your edition of the Apollo help files. For Apollo VCL, you
will need to add SDE7 to your uses clause since that unit contains the
SDEEngine object. Finally, make sure to set OptimisticBuffering to false. This
also applies if you change the data structure of a table.
|