Модуль: System
Описание
Процедура перераспределяет память размером Size байт под динамическую переменную P.
При вызове данной процедуры указатель P должен иметь значение nil или должен указывать на динамическую переменную, память под которую была предварительно выделена с помощью процедур GetMem или ReallocMem.
Если P = nil, Size = 0, то процедура не производит никаких действий.
Если P = nil, а Size <> 0, то процедура распределяет новый блок памяти размером Size и устанавливает указатель P на начало блока. Такой вызов процедуры аналогичен обращению к процедуре GetMem.
Если P <> nil, а Size = 0, то процедура высвобождает блок памяти, на который указывает P и устанавливает P = nil. Вызов процедуры с указанными параметрами аналогичен обращению к процедуре FreeMem, но в отличие от FreeMem процедура ReallocMem очищает указатель.
Если P <> nil и Size <> 0, то процедура устанавливает размер блока памяти, выделенный ранее под динамическую переменную P, равным Size. При этом существующие данные сохраняются. Если размер блока памяти будет увеличен в размерах, то данные в новой части блока будут неопределенными. Если новый размер блока памяти не может быть выделен в текущем адресном пространстве, то он перемещается на новое место и соответственно параметр P будет указывать на новый участок памяти.