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

Вниз

Чтобы локальные переменные в функциях   Найти похожие ветки 

 
Dennis I. Komarov ©   (2011-10-06 22:19) [40]


> эээ... А где тут утечка????


> begin
>  Object := nil;
>  Object.Free;
> end;

А деструктор для кого тут вызван будет?

З.Ы. Или пива уже много? :)


 
Ega23 ©   (2011-10-06 23:10) [41]


> А деструктор для кого тут вызван будет?


А он и не будет вызван. :)

procedure TObject.Free;
begin
 if Self <> nil then
   Destroy;
end;



> З.Ы. Или пива уже много? :)


Походу


 
Германн ©   (2011-10-07 01:08) [42]


> Dennis I. Komarov ©   (06.10.11 22:19) [40]


> Ega23 ©   (06.10.11 23:10) [41]

Вот не люблю и не использую FreeAndNil.
Так что на ваш диалог смотрю скептически. :(


 
Dennis I. Komarov ©   (2011-10-07 09:05) [43]

Ну и?
Ссылку потеряли, объект не уничтожили. Чем не утечка?


 
Dennis I. Komarov ©   (2011-10-07 09:31) [44]


> Вот не люблю и не использую FreeAndNil.

Эм, у нас тут немного другое: NilAndFree


 
Бездомный   (2011-10-07 10:07) [45]


> Ссылку потеряли, объект не уничтожили. Чем не утечка?


var Object: TObject;
begin
Object := nil;
Object.Free;
end;

Нет же никакой ссылки.


 
Ega23 ©   (2011-10-07 10:07) [46]


> Ссылку потеряли, объект не уничтожили.


Мы его и не создали, если чё.


 
Dennis I. Komarov ©   (2011-10-07 10:12) [47]


> Мы его и не создали, если чё.

Ну ты так больше не шути :)


 
Ega23 ©   (2011-10-07 10:15) [48]


var
 Object: TObject;
begin
 Object := nil;
 Object.Free;
end;


 
Dennis I. Komarov ©   (2011-10-07 10:24) [49]

тогда согласен, не страшно, тогда глупо...


 
Бездомный   (2011-10-12 17:53) [50]


> Dennis I. Komarov ©   (07.10.11 10:24) [49]

А это по твоему для потакания глупости сделано было?

procedure TObject.Free;
begin
if Self <> nil then
  Destroy;
end;


 
Dennis I. Komarov ©   (2011-10-12 18:14) [51]


> А это по твоему для потакания глупости сделано было?

Глупо пытаться сперва "занилить" ссылку, а после по ней пытаться уничтожить объект.


 
Dennis I. Komarov ©   (2011-10-12 19:11) [52]

Так же довольно глупо пытаться уничтожить заведомо не существующий объект.

> var Object: TObject;
> begin
> Object := nil;
> Object.Free;
> end;

А по сему, если предположить что код выложен не полностью и объект все-таки где-то когда-то создан
var Object: TObject;
begin
...
Object := nil;
Object.Free;
end;

, то получаем утечку памяти, что уже страшно...


 
Плохиш ©   (2011-10-13 01:58) [53]


> Бездомный   (06.10.11 13:45) [2]
>
> > Ega23 ©   (06.10.11 13:40) [1]
>
> Чтобы не писать:

Delphi вообще не правильная среда. Правильная среда должна иметь всего одну кнопку "Дай прогу".

PS. Прикольная такая ветка и до сих пор в основной.


 
Yaro2000   (2011-10-24 05:20) [54]

>> Dennis I. Komarov ©   (07.10.11 09:31) [44]
>> Вот не люблю и не использую FreeAndNil.
> Эм, у нас тут немного другое: NilAndFree

Пять баллов! :))))


 
RWolf ©   (2011-10-24 11:06) [55]

> Эм, у нас тут немного другое: NilAndFree

в оригинальной FreeAndNil так и делается, не?

procedure FreeAndNil(var Obj);
var
 Temp: TObject;
begin
 Temp := TObject(Obj);
 Pointer(Obj) := nil;
 Temp.Free;
end;


 
Плохиш ©   (2011-10-24 11:23) [56]


> RWolf ©   (24.10.11 11:06) [55]
> > Эм, у нас тут немного другое: NilAndFree
>
> в оригинальной FreeAndNil так и делается, не?
>
>

В каком месте он так делает? Может тебе поизучать скопированный тобой же код несколько раз до полного просветления.


 
RWolf ©   (2011-10-24 11:30) [57]


> [56]

ссылку обнулили, объект освободили.
с точки зрения вызывающего — вполне себе NilAndFree.



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

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

Наверх




Память: 0.57 MB
Время: 0.01 c
2-1361383436
ivkinai76
2013-02-20 22:03
2013.12.08
Авторизация


15-1370957500
EuSet
2013-06-11 17:31
2013.12.08
указание Out параметра зануляет переменную?


1-1317893740
Бездомный
2011-10-06 13:35
2013.12.08
Чтобы локальные переменные в функциях


15-1371203547
Дмитрий СС
2013-06-14 13:52
2013.12.08
Logitech и Apple работают над джойстиком для iPhone и iPad


2-1361414339
ixen
2013-02-21 06:38
2013.12.08
dataset не фильтрует время