[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
332 String/array memory overflow
Explanation: The maximum capacity of the Segment Virtual Object
Store (SVOS) system has been exceeded. Because of the dynamic nature of
SVOS, it is impossible to state exactly when this error will occur
<reference to Runtime Memory Management>. In the worst case this error
will occur when slightly over a megabyte of strings and/or arrays are in
use; the best case is in excess of 16 megabytes.
Action: This problem can be resolved by reducing the size and/or
number of strings and arrays that are active at any one time. Probably
the most common cause of this error is the declaration of extremely
large arrays (e.g. LOCAL aArray[500][300]). Note that every array
element requires memory to store (even if its value is NIL) and that the
number of array elements in an array is determined by multiplying the
number of elements in every dimension and adding the sum of all
dimensions except for the last. For example, a 500 by 300 array has
(500 x 300) + 150,500 elements.
Because every array element in CA-Clipper requires 14 bytes, this
amounts to 150,500 x 14 or 2,107,000 bytes -- well in excess of one
megabyte and therefore potentially dangerous.
Note: There is no benefit gained by reusing arrays. CA-Clipper is
much more efficient when strings and arrays are thrown away and rebuilt
often rather than kept around unnecessarily for long periods.
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson