Как предотвратить утечки памяти при возникновении ошибок? |
Previous Top Next |
Используйте конструкцию
Code: |
{©Drkb v.3(2007): www.drkb.ru, ®Vit (Vitaly Nevzorov) - nevzorov@yahoo.com} Try {здесь вы пишите код в котором может произойти ошибка} Finally {здесь вы пишите код который выполнится в любом случае - хоть произойдёт ошибка, хоть нет} End |
Например, это часто применяется во избежание утечек при динамическом распределении памяти:
Code: |
{©Drkb v.3(2007): www.drkb.ru, ®Vit (Vitaly Nevzorov) - nevzorov@yahoo.com} t:TStringList; ... t:=TStringList.create; //распределили память под объект t Try {здесь работаем с переменной t} Finally t.free;//память выделенная под объект t всегда будет освобождена End |
©Drkb::00025
Автор: Vit (www.delphist.com, www.drkb.ru, www.unihighlighter.com, www.nevzorov.org)
Взято с Vingrad.ru http://forum.vingrad.ru