Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.16;
Скачать: CL | DM;

Вниз

Нет Access Violation после двух Free ! :)   Найти похожие ветки 

 
Danila   (2008-02-15 21:10) [0]

Привет всем!
объясните мне кто-нибудь как такое может быть: в начале объект создается, в конце освобождается с AV (AV происходит, когда вызывается метод Free для объекта). Если же в коде до этого (в другом месте, не там где этот метод Free вызывается) я вызываю тоже Free, то AV не случается. По сути, как я понимаю, вызывается два раза метод Free для одного объекта и без AV, а наоборот как лекарство от AV. Как это объяснить? Заранее спасибо!


 
Palladin ©   (2008-02-15 21:11) [1]


> Нет Access Violation после двух Free ! :)

а я два метра по встречке вчера проехал ! :)


 
{RASkov} ©   (2008-02-15 21:16) [2]

> а я два метра по встречке вчера проехал ! :)

Повезло, что AV с дубинкой не выскочило :)


 
Palladin ©   (2008-02-15 21:16) [3]

на третьем то как раз и выскочило! :)))


 
Palladin ©   (2008-02-15 21:18) [4]

и мне еще повезло что оно еще выскочило... могло быть и хуже... полный ребут... :)


 
Danila   (2008-02-15 21:25) [5]

Кто-ниб. может что-нибудь по сути сказать или вам больше делать нефиг


 
Palladin ©   (2008-02-15 21:27) [6]

так как бы тебе по сути и сказали... в самом первом посте :)


 
Danila   (2008-02-15 21:29) [7]

а без как бы слабо?


 
{RASkov} ©   (2008-02-15 21:31) [8]

> [5] Danila   (15.02.08 21:25)

делать нефиг :)
Ты везде, где делаешь Obj.Free; делай еще и Obj:=nil и все будет Ок
:)
т.е.:
Obj.Free;
Obj:=nil;


 
Palladin ©   (2008-02-15 21:33) [9]


> [7] Danila   (15.02.08 21:29)

слабо... и даже очень... бо что бы тебе чего то объяснить доходчиво нужно тут либо тебя послать на уроки Юрия Зотова в лицей, либо рассказать в твухтомнике основы взятия и освобождения памяти, во что та или иная операция в коде может приводить состояние памяти и оперции с ней, а так же что же может произойти если провести операцию с памятью освобожденной, но еще не занятой чем то другим...


 
Danila   (2008-02-15 21:36) [10]

Это (где делаешь Obj.Free; делай еще и Obj:=nil и все будет Ок) по сути ничего не меняет (я имею ввиду в данном случае)


 
Германн ©   (2008-02-15 21:49) [11]


> Danila   (15.02.08 21:10)

Нет бы сразу привести проблемные строки кода, которые дают AV. Давно бы уже помогли. А так без телепатии не обойтись. Например проблемный вызов Free производится в обработчике события этого объекта.


 
antonn ©   (2008-02-15 23:17) [12]

или там какой нибудь with затесался :)


 
Ins ©   (2008-02-15 23:37) [13]


> Кто-ниб. может что-нибудь по сути сказать или вам больше
> делать нефиг


Очень здорово Palladin в первом посте сказал, и кстати - по сути. Только над этими словами нужно чуточку подумать и сделать выводы :)



Страницы: 1 вся ветка

Текущий архив: 2008.03.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.011 c
15-1201798852
NiGGa
2008-01-31 20:00
2008.03.16
Компонент отображающий графики


6-1182355727
FireMan_Alexey
2007-06-20 20:08
2008.03.16
Вопрос по отслеживанию подключений


8-1176870118
Sholah_Weras
2007-04-18 08:21
2008.03.16
Работа с DDS в DirectX.


2-1203462579
WebSQLNeederr
2008-02-20 02:09
2008.03.16
Аналог TStringList.Delete для массивов?


2-1203021069
Rentner
2008-02-14 23:31
2008.03.16
Перемещение формы, у которой свойство BorderStyle:=bsNone