Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Comix 3.0 Reference Manual - <b>appendix e: from comix 1.0 to 3.0</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
Appendix E: From Comix 1.0 to 3.0
------------------------------------------------------------------------------

This appendix is intended to help Comix 1.0 users make the transition to
Comix 3.0 as quickly as possible.

For all you Comix 1.0 users out there, THANKS!!!  We cannot tell you how
much we have appreciated your incredible support throughout this "extended
release" period.  We hope and trust you will really enjoy using Comix 3.0.


    Quick Change

The easiest way to switch to Comix 3.0 is:

o   Install Comix 3.0 (copy cmx52.lib to cmx.lib, cmx52.ch to cmx.ch,
    cmx52.obj to cmx.obj)

o   Replace any hard-coded instances of ".CMX" with ordBagExt().

o   Replace any references to "DBFCMX" with "COMIX" (the new name of the
    RDD).

o   Recompile all source files.

o   If you have any memo files, change your link script so that you link
    with the file cmxDBT.obj.

    o   This forces Comix to use .DBTs instead of .FPTs.

    o   See Questions?/Answers section in the NG for how to convert from
        .DBTs to .FPTs.

o   Relink.

    NOTE:   You will need to recreate all indexes.  Comix 3.0 uses only
            the .CDX format (Comix 3.0 does not support .CMXs).

99+% of all users should be up and running at this point.

Here is a summary of the changes/enhancements made between Comix 1.0 and
Comix 3.0 for your information and in case you run into any problems.


    Basic Changes

o   The version specific files now have 52 appended to them (e.g.,
    cmx52.lib, cmx52.ch, etc.).

o   An unlimited number of compound indexes can be open in a workarea.

o   A compound index can have an unlimited number of indexes contained in
    it.

o   CA-Clipper 5.2 standard usage of order and order bag is now fully
    supported for all commands.

o   The index extension is always .CDX.

o   FoxPro memo fields (.FPT) are now created/maintained by default.  (Link
    with cmxDbt52.obj if you want to use .DBT memo files)

o   The name of the Comix RDD is now "COMIX" (if specified in a VIA,
    dbSetDriver() or rddSetDefault() call);  it is no longer "DBFCMX".


    Obsolete Functions

o   cmxGetScope() has been superseded by cmxSetScope() (cmxGetScope() is
    implemented as a macro in cmx52.ch for backward compatibility)

o   cmxTagCount() has been superseded by cmxCount() (cmxTagCount() is
    implemented as a macro in cmx52.ch for backward compatibility)

o   cmxIndexCount() has been superseded by cmxCount() (cmxIndexCount() is
    implemented as macro in cmx52.ch for backward compatibility)

o   ordUnique() has been superseded by cmxUnique (ordUnique() is implemented
    as a macro in cmx52.ch for backward compatibility).

    ordUnique() is a better name, but we chose to eliminate the possibility
    of name collisions with future CA-Clipper/VO releases.

o   cmxSuperRdd() has been removed.


    Function/Behavior Changes

o   The scope value given to cmxSetScope() (or any of the SET SCOPE
    commands) may now be a CodeBlock.

o   You may now use local variables in index key and FOR expressions.

o   ordBagExt() now always returns ".CDX".

o   Creating a duplicate tag no longer treated as an error (previously
    resulted in an 8004).  The previous tag of the same name is
    automatically deleted, and the new tag is created.

o   The ADDITIVE clause is no longer automatically implied when WHILE or
    USECURRENT are used.

o   ordBagName() will return the name of the .dbf with a ".\" prepended to
    it for the structural index if no explicit path is given when opening
    the database file.  This is necessary to defeat path searching done on
    some networks (notably Novell), and insure that the structural index is
    in the identical directory as the database.

o   The scope returned by cmxGetScope()/cmxSetScope() is no longer padded
    with chr(0)'s or chr(255)'s to the length of the string.  It is exactly
    the same length as what was given when setting the scope.

o   cmxVersion(2) no longer returns the serial number.


    New Commands

o   SEEK .. LAST
o   SET DESCENDING
o   SET MEMOBLOCK
o   XINDEX


    New Functions

o   cmxAutoOrder()
o   cmxClrScope()
o   cmxCount()
o   cmxCustom()
o   cmxDescend()
o   cmxFor()
o   cmxKeyAdd()
o   cmxKeyDel()
o   cmxKeyVal()
o   cmxMemoBlock()
o   cmxRollBack()
o   cmxSeekLast()
o   cmxSkipUnique()
o   cmxUnique()

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson