Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как удалять объекты, связаные с TTreeNode.Data [D6, WinXP]


Алексей ©   (2005-01-20 03:37:00) 

Всем доброй ночи!
У меня есть дерево, в котором отображается группы и пользователи.
В группе могут быть пользователи и другие группы.
При добавлении группы, создается объект TGroup(мной определен), для пользователя объект ТUser. И каждый объект привязывается к соответствующей Node.data.
Вопрос такой: Когда мне нужно удалить все дерево, то как при удалении правильно освобождать эти созданные объекты. При удалении Ноды, ее data остается. Прохожу подряд по всем узлам, и пишу:
if TObject(Node.data) is TUser then
 TUser(Node.data).free;
 Node:=Node.getnext;
 TreeView.items.delete[Node.getprev);
Также для группы. После запуска выдает ошибку, что-то в духе доступ по неправильному адресу.
Из-за чего это может быть, может что-то не так делаю?


KilkennyCat   (2005-01-20 05:02:00) [1]


> Node:=Node.getnext;
>  TreeView.items.delete[Node.getprev);


как-то нелогично выглядит... я бы удалял дерево снизу.


ЮЮ   (2005-01-20 04:13:00) [2]

Проще код улаления объекта поместить в обработчике
TCustomTreeView.OnDeletion


Наверх

Титульная страница Поиск, карта сайта Написать письмо