[Overview][Types][Classes][Index] | Reference for unit 'LCLMemManager' (#lcl)

# TLCLMemManager

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Template for memory manager implementations.

## Declaration

Source position: lclmemmanager.pas line 34

`type TLCLMemManager = class`
`protected`
`FFirstFree: PLCLMemManagerItem;` |  | Internal member with the pointer the first item in the memory manager.
`FFreeCount: Integer;` |  | Member used to store the value for the FreeCount property.
`FCount: Integer;` |  | Member used to store the value for the Count property.
`FMinFree: Integer;` |  | Member used to store the value for the MinimumFreeCount property.
`FMaxFreeRatio: Integer;` |  | Member used to store the value for the MaximumFreeCountRatio property.
`FAllocatedCount: Int64;` |  | Member used to store the value for the AllocatedCount property.
`FFreedCount: Int64;` |  | Member used to store the value for the FreedCount property.
`procedure DisposeItem();` |  | Maintains values in FreeCount and Count when the memory manager item is freed.
`function NewItem;` |  | Gets a pointer to a free memory manager item, or creates a new one.
`procedure FreeFirstItem; virtual;` |  | Frees the first item in the memory manager and maintains the list.
`public`
`property MinimumFreeCount: Integer; [rw]` |  | Minimum block size that can be freed in the memory manager.
`property MaximumFreeCountRatio: Integer; [rw]` |  | Threshold which determines if the memory manager marks a block or frees it.
`property Count: Integer; [r]` |  | Total number of items in the memory manager list.
`property FreeCount: Integer; [r]` |  | Number of items marked as free in the list.
`property AllocatedCount: Int64; [r]` |  | Number of items allocated in the memory manager list.
`property FreedCount: Int64; [r]` |  | Number of freed memory blocks in the list.
`procedure Clear;` |  | Frees all items in the memory manager list.
`constructor Create;` |  | Constructor for the class instance.
`destructor Destroy; override;` |  | Destructor for the class instance.
`end;`

## Inheritance

`TLCLMemManager` |  | Template for memory manager implementations.
`TObject`

## Description

TLCLMemManager is a class which provides a template for memory manager implementations used in the LCL. It is used as a base class for specialized memory managers in widgetset classes.