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

Вниз

Почему   Найти похожие ветки 

 
SergeyDon   (2002-05-23 14:07) [0]

Созданная динамически форма после уничтожения оставляет в памяти указатель на себя хотя указатели на её объекты уничтожаются?

var F:TGForm;
...
F:=TGForm.Create(MainForm);
...

в модуле GForm в обработчике OnClose
Action:=cafree;
...


 
Song   (2002-05-23 14:11) [1]

Надо приравнить её на nil


 
erik   (2002-05-23 14:11) [2]

Это указатель на старый адрес. Если хочеш то после уничтожения формы присваивай F := nil; Только не в событии OnClose!


 
SergeyDon   (2002-05-23 14:36) [3]

erik © (23.05.02 14:11)
Только не в событии OnClose!

ну сделал я MainForm:=nil не в обработчике OnClose форма та видна и существует всёравно.
-----------------------------------
событие OnClose вообще в другом модуле.

Пример я написал упрощенный, что бы примерно было понятно о чём речь идет.
А если делать например так:
for i:=0 to 5 do
Application.CreateForm(TMainForm, MainForm);
формы появятся и даже будут работать но после закрытия в памяти возможно останится всякий мусор?
даже сделав MainForm:=nil то пропадет только последний указатель и неизвестно что будет с остальными?


 
oomneeq   (2002-05-23 15:06) [4]

>SergeyDon (23.05.02 14:07)
>Созданная динамически форма после уничтожения оставляет в >памяти указатель на себя хотя указатели на её объекты >уничтожаются?
>
>var F:TGForm;
>...
>F:=TGForm.Create(MainForm);
>...
>
>в модуле GForm в обработчике OnClose
>Action:=cafree;
>...


Указатель F оставляет не форма, а автор кода.
Не может форма (да и любой другой объект) сама по себе отвечать за все ссылки, на нее ссылающиеся. Давно обсосаный факт.
Это как адрес и человек. Может быть человек без адреса, может быть адрес без человека. А за порядком следят власти. :-)
Если важна тебе эта ссылка то сам должен следить.
FreeAndNil может помочь.



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

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

Наверх









Память: 0.82 MB
Время: 0.022 c
7-7235
oblom
2002-03-05 15:08
2002.06.03
задание в универе


14-7208
Fryend free flayert akust ju makkert brutts de alavynchy hooy
2002-04-27 22:11
2002.06.03
Почему Reget Junior не качает FTP хотя написано что должен!


3-6932
Buxx
2002-05-14 14:00
2002.06.03
ApplyUpdates у ClientDataSet выдает ошибку что таблицы нету


14-7205
lipskiy
2002-04-25 23:15
2002.06.03
Вопрос только Питерцам!


3-6895
geraed
2002-05-13 07:51
2002.06.03
Сделал прогу работает отлично,на других машинах не идет!?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский