Главная страница
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.019 c
1-78338
Новенький в Делфи
2002-10-14 03:55
2002.10.24
Загрузить файл в память и работать там с ним


7-78689
Vald2000
2002-08-19 13:09
2002.10.24
эмуляция принтера .


6-78582
softal
2002-08-20 08:46
2002.10.24
Обновление через Inet


3-78258
Gaber
2002-10-02 10:10
2002.10.24
Данные из DBGrid


3-78287
hgreg
2002-10-02 12:14
2002.10.24
Уважаемые спецы! Помогите пожалуйста с рекурсивным запросом.