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

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.048 c
14-1130000776
Дельфятник
2005-10-22 21:06
2005.11.20
Подскажите, пожалуйста, как устанавливать dpk-файлы в Delphi.


14-1130323680
Digitman
2005-10-26 14:48
2005.11.20
TOpenDialog.OnIncludeItem


4-1127129624
jeka_t
2005-09-19 15:33
2005.11.20
Как можно распечатать файл LPT?


2-1130604470
Win_sido
2005-10-29 20:47
2005.11.20
Delfi 7


14-1130493355
konda
2005-10-28 13:55
2005.11.20
Очередной "конец света"