bas7advr.hlp (Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
SETMEM Function Details
  Syntax  Details  Example                 Contents  Index  Back
──────────────────────────────────────────────────────────────────────────────
SETMEM changes the amount of memory used by the far heap--the area where
far objects are stored--and returns information about the far heap.
 
SETMEM(numeric-expression&)
    ■ If numeric-expression& is negative, SETMEM decreases the far heap
      by the indicated number of bytes.
    ■ If numeric-expression& is positive, SETMEM attempts to increase
      the far heap by the number of bytes.
 
Usage Notes
    ■ If SETMEM cannot change the far heap by the requested number of
      bytes, it reallocates as many bytes as possible.
    ■ SETMEM can be used in mixed-language programming to decrease the
      far heap space so procedures in other languages can dynamically
      allocate far memory.
    ■ For more information on memory allocation, see Chapter 15,
      "Optimizing Program Size and Speed" in the Programmer's Guide.
 
Programming With OS/2 Protected Mode
    ■ The SETMEM function performs no other function than to return a
      dummy value. This value is the previous SETMEM value adjusted by
      the SETMEM argument. The initial value for SETMEM is 655,360.
 
Important
    ■ A first call to SETMEM trying to increase the far heap has no
      effect because BASIC allocates as much memory as possible to the
      far heap when a program starts.