Описание |
Процедура FreeAndNil освобождает память, используемую объектом, и устанавливает объектную ссылку на ноль (nil).
Это фактически делает это в обратном порядке - сначала разыменование объекта перед освобождением памяти. Это очень чистый способ освободить ресурсы.
|
|
Похожие команды |
FreeMem Освобождает память, используемую переменной
GetMem Получает указанное число байтов памяти.
Nil Значение не присвоенного указателя
Null Переменная, которая не имеет никакого значения
| |
|
Пример кода : Освобождение и обнуление объекта, и затем пытаемся сделать это снова |
var
myList : TList;
begin // Создание объекта списка
myList := TList.Create;
// И теперь освобождаем и обнуляем
этот объект
FreeAndNil(myList);
// Мы можем сделать это безопасно
дважды - она игнорирует нулевые объекты
FreeAndNil(myList);
end;
|
Никакого исключения не произойдёт - второй FreeAndNil не ничего делает.
|
|