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> blimempak()</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 BLIMEMPAK()
------------------------------------------------------------------------------
 Purpose:
 Pack CA-Clipper Summer '87 memory pool.

 Syntax:
 nuValue = BLIMEMPAK([nuFrequency | -1])

 Parameters:
 nuFrequency  Memory pack frequency.

 Returns:
 Memory pack frequency.

 Description:
 This function is used to get or set the frequency of procedure calls with
 which the Blinker overlay manager packs free dynamic memory to reduce
 fragmentation, returns the previous pack frequency, and takes an optional
 parameter of the new frequency to set it to.

 Blinker defaults to maximum speed and a setting of zero for the frequency,
 which means it performs no automatic packing of free dynamic memory to
 prevent fragmentation. Blinker may be told to automatically pack memory
 after every n procedure calls, either at link time using the BLINKER MEMORY
 PACK command (see chapter 9 for further information) or at application
 runtime using the BLIMEMPAK() function.
 The effect of this function depends on the value of the parameter passed,
 but it always returns the current pack frequency, i.e. the Blinker overlay
 manager will pack free dynamic memory every time this number of procedures
 has been called.
 If no parameter is specified then no action will be taken by the function.
 If a parameter value of -1 is passed, the overlay manager performs a memory
 pack immediately and leaves the pack frequency unchanged. This is
 particularly useful following a call to BLIOVLCLR() to clear inactive
 overlays before DBEDIT, MEMOEDIT, re-indexing and other memory intensive
 routines.

 A parameter of 0 switches off the memory packing altogether, and any other
 value sets the packing frequency to that value.
 If automatic memory packing is not enabled using the BLINKER MEMORY PACK
 command at link time, then performing a BLIMEMPAK(-1) at the start of the
 program can often make a significant difference to memory fragmentation. The
 reason for this is that even by the time the first line of the CA-Clipper
 program has been reached a large number of dynamic memory allocations and
 releases have already been performed, so memory can already be partially
 fragmented.

 Example:
 // Get the BLINKER memory pack frequency                                    
 //                                                                          
 ? "Packing currently occurs after every "                                   
 ?? BLIMEMPAK(), "calls"                                                     
                                                                             
 // Set to every 10 procedure calls                                          
 //                                                                          
 BLIMEMPAK(10)                                                               

See Also: BLINKER MEMORY PACK BLIOVLCLR()

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