Root > Reference > All Types > TMemoryError

Type TMemoryError

Previous pageReturn to chapter overviewNext page   

Type of detected memory error.










Memory manager is unresponsive, e.g. hang, deadlocked, etc. This error can happen due to damaged internal structures of memory manager, terminated thread, etc.


A pointer to invalid block was passed to FreeMem or ReallocMem. Invalid block is a block which does not contain a valid EurekaLog header. This can be a valid, but corrupted block (overflow/underflow), it can be already released block (double-free), it can be a fully rogue/random pointer, it can be a block allocated by another memory manager.


Double-free of memory block or object.


No memory error is detected.


There is not enough memory to allocate requested amount of memory in GetMem or AllocMem.


Buffer overflow is detected. Some code damaged/overwrote internal EurekaLog's headers.


Application made attempt to call memory manager's function after finalization. This usually happens when using shared memory manager and wrong finalization order for DLLs.


Detected attempt to use already released object or interface. A virtual method was called on already deleted object.



This type is used in TMemLeaksError event handler.


See also

TMemLeaksError Type
MemLeaksError Global Variable

Send feedback... Build date: 2022-03-28
Last edited: 2022-03-28
The documentation team uses the feedback submitted to improve the EurekaLog documentation. We do not use your e-mail address for any other purpose. We will remove your e-mail address from our system after the issue you are reporting has been resolved. While we are working to resolve this issue, we may send you an e-mail message to request more information about your feedback. After the issues have been addressed, we may send you an email message to let you know that your feedback has been addressed.

Permanent link to this article: