Процедура Dispose в Delphi очищает память на которую указывает указатель.
System unit
- procedure Dispose (var VariablePointer : Pointer-Type);
- procedure Dispose (var ObjectPointer : Object-Pointer; Destructor);
Процедура Dispose выходила в двух версиях.
Старшая версия – устаревший метод уничтожения объектов (Теперь вместо этого вы должны вызывать деструктор класса).
Первая версия освобождает память, используемую переменной типа указателя VariablePointer.
Вы должны использовать Dispose, когда больше не используется переменная распределённая с использованием New.
Предупреждение.
Переменная становится неопределённой после вызова Dispose. Она не устанавливает на ноль (nil).
Процедура Dispose: Распределение памяти для записи, присвоение, и затем избавление от неё
type
TCustomer = Record
name : string[20];
age : Byte;
end;
var
custRecPtr : ^TCustomer;
begin
// Создание записи клиента используя 'New'
New(custRecptr);
// Присвоение ему значений
custRecPtr.name := 'Her indoors';
custRecPtr.age := 55;
// Теперь показываем эти значения
ShowMessageFmt('%s is %d',[custRecPtr.name, custRecPtr.age]);
// Теперь избавляемся от этой распределенной записи
Dispose(custRecPtr);
end;
Результат
Her indoors is 55
Похожие функции, процедуры и команды
FreeMem — освобождает память, используемую переменной.
GetMem — получает указанное число байтов памяти.
New — создаёт новую переменную типа указатель.
ReallocMem — позволяет изменить размер существующего блока памяти.
