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

Вниз

Как удалить компоненты одним махом?   Найти похожие ветки 

 
kyn66 ©   (2005-10-27 17:02) [0]

Уважаемые мастера. На форме лежит ScrollBox. На нем в RunTime в программе я создаю много разных компонентом (Label, Images, Shape  и т.д.) Закрывая форму, я их всех потом нахожу через FindComponent и уничтожаю через Free. А не проще-ли удалить только сам ScrollBox, который для всех этих компонентов является Parent? Затем по необходимости создать ScrollBox и заново нашпиговывать компонентами. Это будет правильно с точки зрения высвобождения памяти и грамотности кода?


 
Ega23 ©   (2005-10-27 17:09) [1]

Если ты при создании этих компонентов в качестве Owner будешь указывать ScrollBox, то они убаляться автоматом.
TLabel.Create(ScrollBox)
если же ты создаёшь
TLabel.Create(nil), то заботится об их удалении тебе надо самому.


 
Leonid Troyanovsky ©   (2005-10-27 17:30) [2]


> kyn66 ©   (27.10.05 17:02)  

> FindComponent и уничтожаю через Free. А не проще-ли удалить
> только сам ScrollBox, который для всех этих компонентов
> является Parent?


Если он им Parent, то он сам позаботится о их удалении.
Соответственно, если ему Parent форма, то, вообще,
ничего делать не надо - все произойдет автоматом.

--
Regards, LVT.


 
Ega23 ©   (2005-10-27 17:56) [3]


> Если он им Parent, то он сам позаботится о их удалении.
> Соответственно, если ему Parent форма, то, вообще,
> ничего делать не надо - все произойдет автоматом.
>


Owner


 
Leonid Troyanovsky ©   (2005-10-27 18:26) [4]


> Ega23 ©   (27.10.05 17:56) [3]
>
> > Если он им Parent, то он сам позаботится о их удалении.

> Owner


The Parent property declared in TControl is similar to the Owner property declared in TComponent, in that the Parent of a control frees the control just as the Owner of a component frees that Component.

--
Regards, LVT.


 
kyn66 ©   (2005-10-28 08:36) [5]

Т.е. я на правильном пути. Достаточно удалить только ScrollBox?


 
Leonid Troyanovsky ©   (2005-10-28 09:10) [6]


> kyn66 ©   (28.10.05 08:36) [5]
> Т.е. я на правильном пути. Достаточно удалить только ScrollBox?



Если все это проделывается при закрытии формы [0],
то, вообще, ничего делать не надо.

Впрочем, если понимание не достигнуто, то лучше
воспользоваться советом уважаемого Ega23 ©  [1].

Хотя, если продолжать делать как в [0], я бы тоже
не стал кидаться камнями: может сей ритуал имел
какое-то психо-физиологическое основание.

--
Regards, LVT.


 
Ega23 ©   (2005-10-28 09:33) [7]


> The Parent property declared in TControl is similar to the
> Owner property declared in TComponent, in that the Parent
> of a control frees the control just as the Owner of a component
> frees that Component.
>


Гм... Не знал...



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

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

Наверх





Память: 0.46 MB
Время: 4.336 c
14-1130448024
LordOfRock
2005-10-28 01:20
2005.11.20
Альтернативные оболочки


4-1127223681
grizzli
2005-09-20 17:41
2005.11.20
Вопрос черезвычайной важности


1-1130325957
irishka001
2005-10-26 15:25
2005.11.20
Shellexecute + WinRar


8-1120050434
sinful
2005-06-29 17:07
2005.11.20
Непересекающиеся окружности


2-1130411420
SamProf
2005-10-27 15:10
2005.11.20
Как уменьшить JPG картинку.





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