![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как удалять объекты, связаные с 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