Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.009 c
2-1203094046
Zurn
2008-02-15 19:47
2008.03.16
Обработка интернет страниц


2-1203325601
abhtr
2008-02-18 12:06
2008.03.16
Как определить в какой колонке DBGrid-а находится курсор?


15-1202306810
Iam
2008-02-06 17:06
2008.03.16
C Sharp Network Programming


15-1202323155
Kerk
2008-02-06 21:39
2008.03.16
Регэкспы в Делфи


15-1202197190
Шмелъ
2008-02-05 10:39
2008.03.16
Оффтоп. Linux. /dev/null




   Наверх