MAINSAIL Language Manual, Section 42.2

previous   next   top   contents   index   framed top   this page unframed


42.2. $newArea

Figure 42–3. $newArea
POINTER($area)
PROCEDURE   $newArea    (STRING title;
                         
OPTIONAL LONG BITS attr;
                             
loStrSpcChars,hiStrSpcChars,
                             
initialPreallocatedSpace,
                             
incrementalPreallocatedSpace);

$newArea returns a POINTER to a new area. As described in Chapter 25, title is the area's title, and attr the area's attributes; valid attr bits are:

attr Bit Description
$collectableChkSpc collect area's dynamic objects
$compactableChkSpc compact area's dynamic objects
$collectableStrSpc collect area's STRING text
$noCollectablePtrs this area contains no POINTERs into $collectableChkSpc areas
$noCompactablePtrs this area contains no POINTERs into $compactableChkSpc areas
$noCollectableStrs this area contains no STRING descriptors into $collectableStrSpc areas
$anchored anchor area (see Section 25.4)

If attr is not specified, the default is that collections and compactions do not occur in the allocated area.

loStrSpcChars specifies the size in characters of STRING space to allocate (if STRING space is needed); it should be specified only if an unusually small amount of STRING space (on the order of 2000 characters or less) is expected to be required (specifying a large loStrSpcChars if a lot of STRING space is needed has undesirable effects; it is better to take the default in this case). Extra STRING space is allocated as needed, so loStrSpcChars need not be exact.

Currently, you should always set hiStrSpcChars to 0L.

incrementalPreallocatedSpace preallocates space for an area, as described in Section 25.4.4. It is useful to set only for an anchored area.

If you wish to change the memory management attributes of an area after it has been created, call $changeAreaParms.


previous   next   top   contents   index   framed top   this page unframed

MAINSAIL Language Manual, Section 42.2