| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Уничтожение компонентов |
| Автор: кмс 11.4.2015, 12:28 |
| Создаю в run-time Panel1 и на ней Image1. Потом их надо уничтожить. Достаточно ли уничтожить только Pahel или нужно Image тоже? |
| Автор: Romikgy 11.4.2015, 12:37 |
| все то же самое но в обратном порядке! (убьете только панель получите утечки памяти) |
| Автор: kami 11.4.2015, 22:32 | ||
Ээээ... не согласен. Если мы говорим о VCL, то установка Parent вносит этот компонент в список Controls этого самого Parent-а (там есть варианты, в зависимости от того TWinControl это или нет). А в деструкторе TWinControl явно прописано уничтожение всех "дочерних" компонентов:
В FMX ситуация примерно такая же. Посему - если Image с панели никто не убирал - то вполне можно уничтожать только панель, этого более чем достаточно. |
| Автор: Doga 6.7.2015, 15:09 |
| Привет. Если не ошибаюсь, то для автоматического освобождения надо установить свойство Owner <> Nil. Но помоему, дабы не нарушать отчётность, лучше всё удалить самому ("я тебя породил - я тебя и убью" ) - меньше вероятность запутаться... |