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 b: error codes</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
Appendix B: Error Codes
------------------------------------------------------------------------------

This appendix briefly covers the error codes which you may encounter when
using Comix.  Please consult your Clipper NG for error codes which you don't
find here.

All of these errors go through the standard error system and we have used
standard error codes wherever possible.

The only error which doesn't use the standard error system is 1102 (RDD not
loaded).  An 1102 isn't generated by Comix, it's generated by Clipper's
DBUSEAREA().


    Clipper Errors that commonly occur with Comix

1003: Cannot open file

    This error code indicates that a file cannot be opened.  This will occur
    if you try to SET INDEX TO a non-existent file.

1006: Cannot create file

    This error code indicates that a file cannot be created.  If you tried
    to create an index using the a filename which already exists and is
    marked as read-only, you would get this error.

1010: A read which should have worked failed (database or memo _only_)

    This would occur if a database or memo file was truncated during a 
    CHKDSK or corrupted somehow.  This error can also be caused by failing
    to set the STACK to 7168 or above.

1011: A write which should have worked failed

    This would occur if the media failed, or if a physical lock on the
    region existed.

1012: The index _or_ database is corrupted

    This error code indicates that the index file or database has gotten
    corrupted.

1015: Specified RDD not linked in

    This error code indicates an attempt to use an RDD which has not been
    linked in.  The common reasons for this error are:

    o   Misspelling an RDD name in a VIA clause, dbSetDriver() or
        rddSetDefault().  (Comix's RDD name is "COMIX")

    o   Failing to have the driver linked in.  To link in Comix (if you are
        not linking with cmx52.obj), you must have the statement

            REQUEST Comix

            -OR-

            #include "cmx52.ch"

        in at least one .PRG you are linking with.

1023: Exclusive Required

    An operation which requires exclusive use of the database (e.g., a PACK)
    was attempted on a database which was opened in SHARED mode.

1026: Key is too wide or too short (0)

    This error code indicates that you have attempted to create an index on
    an invalid field type, or a character expression which is too long (such
    as a memo field).  The maximum size of a key is 240 bytes.

1102: Can't find the RDD

    This error code indicates that you have tried to use an RDD which isn't
    linked in.  The common reasons for this are:

    o   Failing to link with cmx52.lib.

    o   Misspelling an RDD name in the VIA statement (Comix's RDD name is
        "COMIX").

    o   Failing to #include "cmx52.ch" in at least one .PRG you are linking
        with.

        NOTE:   #include'ing "cmx52.ch" causes Comix to be linked in even if
                you are using multiple RDDs and aren't using cmx52.obj.

1201: No master index was in use for operation which needs it

    This error code indicates that you've tried to do an operation which
    requires a master index (like SEEK) and there was no master index (i.e.,
    order was 0).  Make certain you have a master index before doing a
    SEEK.


    Comix-specific index errors

8001: Index FOR condition didn't evaluate to a logical

    This error code indicates that you've tried to use an expression in a
    FOR clause of an INDEX statement which doesn't evaluate to a logical.

8002: The type or length of the key doesn't match what's stored on disk

    This error code indicates that a key expression has changed since the
    index was created.  For example, if you had an index on LAST, and
    changed the width of the field from 20 bytes to 25 bytes, and then tried
    to use the old index, you would get this error.

    Another cause of this error is creating an index on an expression which
    has a variable length (e.g., TRIM(last)).  The key expression must
    always return a fixed length.  (Use PADR() to ensure that the key
    expression is always the same length).

8003: Key expression or filter expression is too long

    This error code indicates that the FOR expression or ON expression in a
    INDEX statement is too long.  The FOR expression and ON expression must
    together be less than 510 bytes.

8005: Tag not found for delete

    An attempt was made to delete a tag which wasn't found in the index
    file.  This is a Comix internal error, and shouldn't occur.  Please
    contact Technical Support if you see this error.

8006: Old key not found

    This indicates that a key which should have been in the index was not
    found when an update on the index was made.

    The most common cause of this error is opening the same index twice.
    Specifically, the structural index is automatically opened when the
    database is opened.  Some developers then explicitly open the index
    again with dbSetIndex().  (If you don't want the structural index to be
    automatically opened, see cmxAutoOpen()).

    Another reason for this error is updating a database without having an
    index open, and then later opening that index and further updating the
    database (i.e., index out of sync with database).

8007: Scope Type Mismatch

    An attempt was made to use an incorrect type for a scope.  For example,
    if you have a numeric key and attempt to use a date for a scope, you
    will get this error.

8008: Not Custom Built Index

    cmxKeyAdd() or cmxKeyDel() were called for an index which is not a
    Custom Built Index.

8009: A read which should have worked failed (index _only_)

    This would occur if an index file was truncated during a CHKDSK or 
    corrupted somehow.  This error can also be caused by failing
    to set the STACK to 7168 or above.

8010: Maximum index depth exceeded

    This error occurs if the depth of the CDX B-tree exceeds 32 levels. 
    This can be caused either by index corruption, or by having a very
    large key (> 117 bytes) with a large number of records.  If the
    problem appears to be the latter, please contact Technical Support.


    Comix-specific database errors

8101: DBF Signature Invalid

    This error indicates that the signature field of the .DBF is invalid.
    Reasons for this error include:

    o   Trying to use a non-DBF as a DBF.
    o   Corruption of the DBF.
    o   Trying to use a file with a DBT memo-field with Comix 3.0 (and
        failing to link with cmxDbt52.obj).


    Comix-specific memo file errors

8201: Memo Type Invalid

    All FPT memo entries have a type field.  This error indicates that the
    type field is invalid.  The reasons for this error include:

    o   Memo file corruption
    o   Trying to use a memo-field type which Comix doesn't understand
        (e.g., FoxPro for Windows Picture Field Type)

8202: Memo Too Long

    This error occurs when attempting to access a memo field which is over
    64K in length.  Comix's maximum length of a memo field (with an .FPT
    memo file) is 65520 bytes.  Reasons for this error include:

    o   Memo file corruption
    o   Trying to use an .FPT created by a different product which does
        support >64K memo fields.

9900: Demo Limit Exceeded

    This error applies only to the demo version of Comix.  Currently
    there is only one limit:

    o   No more than two database files can be open simultaneously.

    Attempting to open more than two database files simultaneously
    (regardless of RDD) will result in this error being generated. 
    Also, please note that APPEND FROM implicitly causes a database to
    be opened.


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