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 |
|
| |
|