Форум: "Начинающим";
Текущий архив: 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
Время: 0.056 c