Главная страница
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.024 c
4-78703
mike.dld
2002-08-19 15:41
2002.10.24
Hints to MBo


14-78618
Snake2000
2002-10-03 13:07
2002.10.24
Звукосниматель


14-78633
sancho
2002-10-03 18:54
2002.10.24
Однополчане, подкиньте идею!


1-78362
Krez
2002-10-14 15:31
2002.10.24
Добавление компонента


1-78444
mav13
2002-10-15 20:47
2002.10.24
Результат запроса из базы данных (string) надо запуститьв winexec