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

Вниз

Самоуничтожение компонента   Найти похожие ветки 

 
I_S_   (2002-10-14 09:42) [0]

Создаю компонен, состоящий из нескольких. По нажатию на один их них, должен уничтожаться весь компонент. Наподобии обычной формы - по нажатию на "крестик". Выхываю свой destroy, получаю ситуацию, что некуда вернуться по окончанию. Как с этим бороться?
Заранее благодарен.


 
Vitaly ©   (2002-10-14 09:51) [1]

Правильнее будет, по-моему, не самоуничтожение,
а освобождение неиспользуемых ресурсов диспетчером.
Например, в application.onIdle.
Если же очень хочется - тогда PostMessage(...) владельцу
на уничтожение.

Удачи.


 
Zemal ©   (2002-10-14 12:01) [2]

Можно воспользоваться классом TObjectList, это потомок класса TList и хранит в своих Items не ссылки на объект, а сами объекты... плюсы в том, что он хорошь как контейнер объектов и удаляет все свои подчинённые объекты и освобождает память. Только один нюанс: придётся создавать объекты динамически... и если это визуальные компоненты, то незабыть указать свойство Owner (иначе их небудет видно, т.к. негде их отображать). Если интересует как это можно сделать - могу помочь.


 
qube ©   (2002-10-14 12:35) [3]

Zemal © (14.10.02 12:01)
Прошу прощения, маленькое уточнение. Такого явления, как "не ссылки на объект, а сами объекты" в Object Pascal попросту нет. TObjectList -- это обычный список указателей, наследник TList, только он рассматривает все указатели как указатели на TObject и, если свойство OwnsObjects = True, в деструкторе убивает все объекты, которые в списке содержатся.


 
Zemal ©   (2002-10-14 13:14) [4]

>>qube
Спасибо за замечание! Действительно я преукрасил :). Написал так, как сам себе "представляю для простоты" :). Реализация методов TObjectList позволяет так "думать"(образно представлять) :). А упомянуть про свойство OwnsObjects вообще забыл :). Извиняюсь. В действительности это, конечно, список ссылок на объекты :), которые можно контролировать методами класса TObjectList, в том числе и уничтожать, при уничтожении самой переменной этого класса, централизованно и автоматически. Извиняюсь за неточности.



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

Текущий архив: 2002.10.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
1-78434
brestmarket
2002-10-11 14:52
2002.10.24
Вопрос к мерчендайзерам шаровара!?


14-78625
DeMoN-777
2002-10-03 00:48
2002.10.24
Многому ли вас научил форум ?


1-78345
Dr. TOP
2002-10-14 16:56
2002.10.24
Поиск в TreeView


6-78566
dimanew
2002-08-23 10:37
2002.10.24
Как получить IP своего компьютера?


1-78414
Miss
2002-10-15 15:16
2002.10.24
???