Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Free формы??? [D5]


Vitus ©   (2003-02-06 11:32:00) 

Вопрос такой. Вот код создания и закрытия формы:

fmEmp := TfmEmp.Create(Application);
fmEmp.ShowModal;
fmEmp.Free;


До создания fmEmp=nilи Assigned(fmEmp)=False, но после выполнения fmEmp.Freeпочему-то fmEmp<>nilи Assigned(fmEmp)=True. В чем проблема? Почему Free не разрушает объект? Приходится после Free делать еще и fmEmp := nil;


Vitus   (2003-02-06 12:01:00) [1]

ОК, благодарю за советы, FreeAndNill как раз то, что нужно.


Palladin   (2003-02-06 12:00:00) [2]


> Юрий Зотов © (06.02.03 11:49)

:)
Согласен. ступил.


Victa   (2003-02-06 11:51:00) [3]

Free разрушает обьект, но вот переменную, которая собственно на обьект указывает, она в nil не не устанавливает. После вызова Free, fmEmp указывает на область памяти, которая выделялась для обьекта TfmEmp. Что находится там теперь? Но что - то есть.

Если предполагаются какие то проверки после разрушения обьекта -
см. David


Юрий Зотов   (2003-02-06 11:49:00) [4]

> Вероятно так задумано.

А разве МОГЛОбыть задумано как-то иначе?

КАКИМ ОБРАЗОМобъект может очистить ВНЕШНЮЮссылку на себя? Откуда он вообще может УЗНАТЬо существовании такой ссылки?

Тем более, что их может быть сколько угодно.


Anatoly Podgoretsky   (2003-02-06 11:48:00) [5]

Vitus (06.02.03 11:32)
А зачем.
Проблемы то нет.


Palladin   (2003-02-06 11:44:00) [6]

free разрушает любой объект и освобождает всю занятую память (если конечно деструктор правильно написан), но не выставляет ссылку на обьект в Nil. Вероятно так задумано.


gek   (2003-02-06 11:40:00) [7]

А кто сказал, что Free не разрушает?
FreeAndNill


David   (2003-02-06 11:38:00) [8]

FreeAndNil


Наверх

Титульная страница Поиск, карта сайта Написать письмо