Функция MemAvail()

Модуль OMemory

Возвращает количество всей свободной памяти в куче.

Объявление:

Function MemAvail : Longint;

Режим:

Windows, Real, Protected

Замечание:

MemAvail возвращает сумму размеров всех свободных блоков в куче. Обратите внимание, что непрерывный блок памяти возвращенного размера, вряд ли будет доступен из-за фрагментации кучи. Чтобы найти самый большой свободный блок, вызовите MaxAvail.

В реальном режиме DOS, MemAvail вычисляется добавлением размеров всех свободных блоков ниже указателя кучи к размеру свободной памяти выше указателя кучи. Ваша программа может определять минимальные и максимальные требования к куче, используя директиву {$M}.

В защищенном режиме DOS и Windows, MemAvail вычисляет количество свободной памяти, вызывая функцию GetFreeSpace и добавляя к этому размер каждого свободного блока в области под-распределения программы управления динамической памятью.

Пример:

{ Пример программы для функций MemAvail и MaxAvail }

Begin
 WriteLn('Доступно ', MemAvail, ' байт.');
 WriteLn('Самый большой свободный блок - ', MaxAvail, ' байт.');
End.