Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

не визуальное использование TCustomTreeView

Здравствуйте, Почтовый форум по программированию,

Более глобально хотелось бы иметь нормальный класс для работы с
деревьями.
В Delphi вроде только TCustomTreeView имеется - других не знаю. (

Сам TCustomTreeView - это, как я понял лишь контейнер.
Отсюда следует, что он в принципе не нужен.
Используем TTreeNodes:

tree := TTreeNodes.Create(nil);
tree.GetFirstNode; // Тут вылетает Access Violation

..беда!!!

т.е. без TCustomTreeView никуда!!! (

Делаю так..

treeView := TCustomTreeView.CreateParented((AOwner as TForm).Handle);

tree := TTreeNodes.Create(treeView);

убиваю:
treeView.Free; // Тут я надеюсь, что tree потом тоже убъётся(вроде логично)


Вот такой изврат!..
Отсюда выводы..
Мож я извращенец или мазохист?..

ps:
1. TCustomTreeView.Create(AOwner as TForm) тоже так же Access violation!
2. на автомате нажал Ctrl+F9, видимо чтобы скомпилировать письмо.. ;)

--
От
Serger пишите сюда:serg***@u*****.ru

Tuesday, October 4, 2005, 6:55:47 AM

Номер выпуска : 4955
Возраст листа : 745 (дней)
Количество подписчиков : 532
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/449149
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

Ответить   Tue, 4 Oct 2005 07:05:49 +0500 (#449149)

 

Ответы:

Здравствуйте, Serger.

Tuesday, October 4, 2005, 5:05:49 AM, you wrote:


Несовсем понял насчет "других" - а TTreeView? Если нужен именно
невизуальный класс типа "дерева", то скройте компонент и все дела. Или
породите от TCustomTreeView свой компонент, хотя и он будет
визуальным.

Это абстрактный класс, правильнее сказать, от которого происходят
другие "деревянные" классы. И для них он нужен, как воздух.:)




Еще бы - ветку дерева нужно к дереву лепить, а не к nil.




Сильно наворочено! Сделайте проще, как я говорил - или воспользуйтесь
TTreeView, или создайте свою структуру данных, основанную на бинарных
деревьях (без всяких классов).


Чё-то выводы какие-то....-)))))) Впрочем, если это о программинге, то
мы все тут такие.-))))))))

Да, ведь это абстрактный класс.

Ответить   Вадим Шешунов Wed, 5 Oct 2005 16:24:32 +0300 (#449699)

 

Доброе время суток, Вадим Шешунов!


Я напутал.. В принципе, с TTreeView та же история получается..
Но это почти одно и тоже! Просто я в попыхах использовал абстрактный
класс.. %)
Если я создаю класс в коде, во время выполнения вылетает ошибка
"Control '' has no parent window".
Хотя передаю в конструкторе nil, хоть TForm.
Хотя через CreateParented, в принципе, всё работает.




Вот! А хотелось бы только саму концепцию дерва использовать, без
визуализации.. Но и визуализация тоже пока нужна, только для
отладки (чтобы видеть, что у меня там, в дереве), хотя может я её и
потом оставлю.
В принципе алгоритм и визуализация должны быть разделены..
Вроде это "закон". За неисполнение не повешают, но времени потратить
потом можно кучу!..

Тут больше по отношению к себе всё.. Когда код не красивый, чувствуешь
себя дискомфортно. А когда ОЧЕНЬ непонятный и не красивый начинаешь
гордиться.. ;) ИМХО это не правильно и глупо. Зато вышел из сложной
ситуации..

ps:
В общем работает. Время покажет, что из этого выйдет!..

Ответить   Thu, 6 Oct 2005 05:53:38 +0500 (#449782)