Как предотвратить утечки памяти при возникновении ошибок?

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