The HeapError variable

The heap error permits developpers to install a heap error hook which is called each time an allocation cannot be completed by the default heap manager. HeapError is a pointer that points to a function with the following prototype:

   function HeapFunc(size : longint): integer;

The size parameter indicates the size of the block which could not be allocated. Depending on the success, the error handler routine should return a value which indicates what the default heap manager should do thereafter (cf. table (8.9)).



Table 8.9: Heap error result


Value returned Memory manager action


0 Generates a runtime error 203
1 GetMem,ReallocMem and New returns nil
2 Try allocating the memory block once again