Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Проблема с динамическим созданием TreeView


Автор: NNicolas 7.8.2005, 21:04
Не могу создать элемент класса TTreeView
элмент кода:
TTreeView *TreeAtributes = new TTreeView;
посоветуйте что нить, плиз!

Автор: Mal Hack 7.8.2005, 21:22
Покажи код, которым создаешь и где, а также какую ошибку компилятор пишет.

Автор: NNicolas 7.8.2005, 23:42
Код:
void __fastcall GetElements()
{
TTreeView *TreeAtributes;
TreeAtributes = new TTreeView;
...
}
Выдает ошибку:
[C++ Error] uCTGDll.cpp(52): E2285 Could not find a match for 'TListView::TListView()'

Автор: Vitalik 8.8.2005, 10:17
Код
TTreeView *TreeAtributes;
TreeAtributes = new TTreeView(Form1);
TreeAtributes->Parent = Form1;

Ты должен передавать в конструкторе в качестве параметра Form1 - это будет владелец твоего TreeView. Затем, чтобы он отобразился на форме нужно задать его родителя Parent.

Автор: NNicolas 8.8.2005, 11:48
А если мне не нужно его отображение? Мне нужно создать элеммент в Dll..

Автор: Vitalik 8.8.2005, 12:13
Ты должен обязательно в качестве владельца задать какой-нибудь потомок TComponent'а. Либо же дескриптор родительского окна.

Но не забудь, когда будет нужно, освободить память, выделенную под TreeAtributes smile
Добавлено @ 12:14
А чтобы он не отображался, просто проигнорируй задание свойства Parent smile

Автор: NNicolas 8.8.2005, 12:31
Спасибо smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)