Clarion Accessories

CapeSoft Fastmem

Download Latest Version FAQ History
Installed Version Latest Version


Allocating memory can be slow if it is done a lot in a multi-threaded environment using the RTL memory allocator. This allocator replaces the built in one speeding up memory allocations, at the cost of a small amount of extra memory consumed.

All the proceeds from the sale of this product go to charity. If you would like a free copy please send us an email requesting one and we'll be happy to give one to you.



As more people use Fastmem in a variety of environments, we are getting lots of helpful feedback on cases which are not currently supported. We will investigate these and update this list as we encounter these.


  1. Add Global Extension
  2. Set the properties as you wish. See the Template Reference for a list of properties and what they do.

Multi DLL

If you have a multi-dll system (ie multiple apps) then you only need to add this template to the DataDLL app. ie the app which contains the data dictionary.


If you have a hand-coded project, and you wish to include Fastmem, then you need to duplicate the functionality of the template in the application by hand. Fortunately this is very easy to do;

As early as possible in the code, add the following declaration;

fmpp fmPatchProcess

This should be done inside the first module that is loaded (probably the Exe in cases where you are dynamically loading the DLL's, or in the first DLL - sometimes called the Data-DLL - in systems which load multiple DLL's at load time.)

You can turn the new allocator on and off (at compile time) by adjusting the equates at the top of

MallocIsRTL EQUATE(0)  ! if 1, use old RTL allocator
MallocIsDIY EQUATE(1) 
! if 1, use new allocator

You may also choose to comment out the two equates altogether and instead declare these equates as Conditional Compile options in your project settings.


Global Template

File Manager Tab

The default value for this is ON. If this is on then the buggy ASSERT when CLOSE is called is suppressed. 
Create SQL Tables
The default value for this is OFF. If this is ON then a CREATE will be called for SQL tables which have an error on OPEN. Note that if you are using File Manager 3 then this setting should still be set to OFF, FM3 will correctly create the tables when required - and only when required.


Your questions, comments and suggestions are welcome. See our web page ( for new versions. You can also contact us in one of the following ways:
CapeSoft Support
Telephone +27 87 828 0123
Fax +27 21 715 2535
Post PO Box 511, Plumstead, 7801, Cape Town, South Africa


To download the latest installation please visit the CapeSoft Downloads page.

To install extract the Installation Program from the SAF file using the free CapeSoft Safe Reader (download for free from

Run the Installation Program for your version of Clarion.


There are no files to distribute.

License & Copyright

This template is copyright © 2015 by CapeSoft Software. None of the included files may be distributed. Your programs which use Fastmem can be distributed without any Fastmem royalties.

This product includes code copyright Dave Nichols and released under the MIT license.

This product is provided as-is. Use it entirely at your own risk. Use of this product implies your acceptance of this, along with the recognition of the copyright stated above. In no way will CapeSoft Software, their employees or affiliates be liable in any way for any damages or business losses you may incur as a direct or indirect result of using this product

Version History

Version 1.04 (18 September 2018) Version 1.03 (23 December 2015) Version 1.02 (17 December 2015) Version 1.01 (14 December 2015) Version 1.0 (11 December 2015)
Download latest version here