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

Вниз

Освобождение памяти   Найти похожие ветки 

 
slavon   (2008-02-03 15:11) [0]

Доброго дня, Мастера! Мне требуется кое-что уточнить.
В real-time делаю: Panel1 := TPanel.Create(nil);
Создаю на ней кучу всякого добра:
<newComponent> := <TComponent>.Create(Panel1);
Достаточно ли после этого всего одной строчки: Panel1.Free;?
Пока писАл, возник второй вопрос:
Если разбросать все эти новые компоненты по разным Parent"ам:
<newComponent>.Parent := <otherComponent>;
удалить всё можно будет, введя только: Panel1.Free;?


 
DVM ©   (2008-02-03 15:17) [1]


> В real-time делаю: Panel1 := TPanel.Create(nil);

Ты хотел сказать в RUN-TIME?


> Достаточно ли после этого всего одной строчки: Panel1.Free;
> ?

Да. Только не забудь, что саму твою панель надо уничтожить явно, т.к. при ее создании Owner у тебя nil


> Если разбросать все эти новые компоненты по разным Parent"ам:
>
> <newComponent>.Parent := <otherComponent>;
> удалить всё можно будет, введя только: Panel1.Free;?


За удаление отвечает Owner если он есть. Parent тут не причем.


 
Leonid Troyanovsky ©   (2008-02-03 15:22) [2]


> DVM ©   (03.02.08 15:17) [1]

> За удаление отвечает Owner если он есть. Parent тут не причем.

Причем, если он есть.

--
Regards, LVT.


 
slavon   (2008-02-03 15:25) [3]

Ура. Спасибо, тем кто откликнулся.


 
DVM ©   (2008-02-03 15:41) [4]


> Причем, если он есть.

Я про его код. Он же Parent - ов вроде уничтожать не собирался.


 
Anatoly Podgoretsky ©   (2008-02-03 16:52) [5]

От добра зависит.


 
Григорьев Антон ©   (2008-02-03 20:14) [6]


> DVM ©   (03.02.08 15:17) [1]
> За удаление отвечает Owner если он есть. Parent тут не причем.

Parent тоже уничтожает компоненты, для которых он Parent. Так что компонент может быть уничтожен как при уничтожении Parent"а, так и при уничтожении Owner"а, т.е. Parent не совсем не при чём.


 
slavon   (2008-02-04 00:51) [7]

Ага. Понятно. Интересные тонкости. Я поясню: у меня во время работы программы нужно изменить состав и св-ва компонентов, созданных на Panel1. Думаю, будет проще всё снести и заново загрузить. Потому они все на панели. Спасибо.



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

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

Наверх





Память: 0.46 MB
Время: 0.037 c
6-1181650538
dzr_gregory
2007-06-12 16:15
2008.03.02
Проблема с IdMappedPortTCP


2-1202475868
АИК
2008-02-08 16:04
2008.03.02
Undeclared identifier: CoTaskMemAlloc


15-1201376098
Kerk
2008-01-26 22:34
2008.03.02
Алгоритм Витерби


2-1202464753
Artem
2008-02-08 12:59
2008.03.02
Abstract Error в ListBox


15-1201419830
Denis__
2008-01-27 10:43
2008.03.02
WMI SDK





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