Как предотвратить утечки памяти при возникновении ошибок?
Материал из DRKB
Как предотвратить утечки памяти при возникновении ошибок?[править | править код]
Используйте конструкцию
try
{ здесь вы пишите код в котором может произойти ошибка }
finally
{ здесь вы пишите код который выполнится в любом случае - хоть произойдёт ошибка, хоть нет }
end
Например, это часто применяется во избежание утечек при динамическом распределении памяти:
var t: TStringList;
...
t := TStringList.Create(); // распределили память под объект t
try
{ здесь работаем с переменной t }
finally
t.free(); // память выделенная под объект t всегда будет освобождена
end
Author: Vit (www.delphist.com, www.drkb.ru, www.unihighlighter.com, www.nevzorov.org)
Source: http://forum.vingrad.ru
ID: 00025