Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Blinker 5.10 Online Reference - <b> ca-clipper internal error 37</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 CA-Clipper internal error 37
------------------------------------------------------------------------------
 CA-Clipper creates a unique symbol for each and every CA-Clipper FUNCTION
 and PROCEDURE name, including one for EACH occurrence of a duplicated static
 function name, one for each unique PUBLIC or PRIVATE variable name, and one
 for each unique database ALIAS name. It also creates a unique symbol for
 each FIELD in a database, either when explicitly mentioned in the program
 code, or when the database is opened at run time.

 The CA-Clipper internal error 37 indicates that an internal limit on the
 number of symbol names has been reached. This will usually occur after a
 program has been running for a while, since each time a new database is
 opened, a new symbol entry is created for each database ALIAS and each FIELD
 name which is not currently in the symbol table.

 The internal error 37 can also occur at program start up, due to CA-Clipper
 estimating how many UNIQUE symbols it will actually need, based on how many
 actual symbols (including duplicates) there physically are in the EXE.

 With symbol table compression enabled, i.e. with BLINKER INCREMENTAL OFF,
 this error should not occur at program start up, since all the duplicates
 have already been removed at link time. The maximum number of unique symbols
 remains 16384, however, so Blinker will display an error 1166 at link time
 if this limit is reached.

 With no symbol table compression you have many thousands of duplicate
 symbols, and at program start up CA-Clipper estimates the total unique
 symbols based on that total, and if the estimate exceeds the 16384 limit it
 displays the internal error 37.

 If the error is displayed at program start up, then disable incremental
 linking by adding the command BLINKER INCREMENTAL OFF to the link script
 file. If Blinker then displays error 1166, or the error still occurs, then
 currently the only way to work around this CA-Clipper internal limit is to
 reduce the number of symbol names in the program. To do so, reduce the
 number of FUNCTIONs, PROCEDUREs, PUBLICs or PRIVATEs, reuse database ALIAS
 and FIELD names between databases, or separate the program into smaller
 units.

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