Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.02.17;
Скачать: [xml.tar.bz2];

Вниз

Free формы???   Найти похожие ветки 

 
Vitus   (2003-02-06 11:32) [0]

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

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


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


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

FreeAndNil


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

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


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

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


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

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


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

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

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

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

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


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

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

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



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


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

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


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

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



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

Форум: "Основная";
Текущий архив: 2003.02.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.012 c
7-53312
SZap
2002-12-13 14:29
2003.02.17
Серийный номер HDD


6-53141
TS
2002-12-26 08:50
2003.02.17
TWebBrowser не копирует в буфер обмена выделенный фрагмент


1-52949
Konstantin
2003-02-09 16:37
2003.02.17
Нужен алгоритм сортировки


4-53337
HappyNewYearToAll
2003-01-08 13:37
2003.02.17
Процессы-пользователи


14-53228
Феликс
2003-01-29 14:49
2003.02.17
Секс в большом городе





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский