![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Нет Access Violation после двух Free ! :)
Danila © (2008-02-15 21:10:00)Привет всем!
объясните мне кто-нибудь как такое может быть: в начале объект создается, в конце освобождается с AV (AV происходит, когда вызывается метод Free для объекта). Если же в коде до этого (в другом месте, не там где этот метод Free вызывается) я вызываю тоже Free, то AV не случается. По сути, как я понимаю, вызывается два раза метод Free для одного объекта и без AV, а наоборот как лекарство от AV. Как это объяснить? Заранее спасибо!
Ins (2008-02-15 23:37:00) [1]
> Кто-ниб. может что-нибудь по сути сказать или вам больше
> делать нефиг
Очень здорово Palladin в первом посте сказал, и кстати - по сути. Только над этими словами нужно чуточку подумать и сделать выводы :)
antonn (2008-02-15 23:17:00) [2]или там какой нибудь with затесался :)
Германн (2008-02-15 21:49:00) [3]
> Danila (15.02.08 21:10)
Нет бы сразу привести проблемные строки кода, которые дают AV. Давно бы уже помогли. А так без телепатии не обойтись. Например проблемный вызов Free производится в обработчике события этого объекта.
Danila (2008-02-15 21:36:00) [4]Это (где делаешь Obj.Free; делай еще и Obj:=nil и все будет Ок) по сути ничего не меняет (я имею ввиду в данном случае)
Palladin (2008-02-15 21:33:00) [5]
> [7] Danila (15.02.08 21:29)
слабо... и даже очень... бо что бы тебе чего то объяснить доходчиво нужно тут либо тебя послать на уроки Юрия Зотова в лицей, либо рассказать в твухтомнике основы взятия и освобождения памяти, во что та или иная операция в коде может приводить состояние памяти и оперции с ней, а так же что же может произойти если провести операцию с памятью освобожденной, но еще не занятой чем то другим...
{RASkov} (2008-02-15 21:31:00) [6]> [5] Danila (15.02.08 21:25)
делать нефиг :)
Ты везде, где делаешь Obj.Free; делай еще и Obj:=nil и все будет Ок
:)
т.е.:
Obj.Free;
Obj:=nil;
Danila (2008-02-15 21:29:00) [7]а без как бы слабо?
Palladin (2008-02-15 21:27:00) [8]так как бы тебе по сути и сказали... в самом первом посте :)
Danila (2008-02-15 21:25:00) [9]Кто-ниб. может что-нибудь по сути сказать или вам больше делать нефиг
Palladin (2008-02-15 21:18:00) [10]и мне еще повезло что оно еще выскочило... могло быть и хуже... полный ребут... :)
{RASkov} (2008-02-15 21:16:00) [11]> а я два метра по встречке вчера проехал ! :)
Повезло, что AV с дубинкой не выскочило :)
Palladin (2008-02-15 21:16:00) [12]на третьем то как раз и выскочило! :)))
Palladin (2008-02-15 21:11:00) [13]
> Нет Access Violation после двух Free ! :)
а я два метра по встречке вчера проехал ! :)