Главная страница
    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
Время: 0.056 c
1-1130396063
VID
2005-10-27 10:54
2005.11.20
Я не могу прочитать свойство ячейки Cell.Comment.Text в Excel


2-1130797663
Старт
2005-11-01 01:27
2005.11.20
Какую кнопку можно настроить так, чтобы при наведении на неё мыши


4-1126874996
Stanislav
2005-09-16 16:49
2005.11.20
Как использовать CreateThread


14-1130356032
American
2005-10-26 23:47
2005.11.20
Какую версию предпочесть: 6, 7 или 2005


5-1110285566
GuAV
2005-03-08 15:39
2005.11.20
procedure TCustomImageList.DefineProperties(Filer: TFiler);





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