Ребят кто нить работал с VirtualTreeView
Ребят кто нить работал с VirtualTreeView? Может кто нить подсказать по работе с ним, нигде не нашел как работать с ним через Builder а на Delphi у них слишком сложные примеры.
Если с компонентом идут примеры по его использованию на Delphi-то или на Builder'е - то это и есть то, что тебе нужно! Либо разбирайся с этими примерами, либо откажись от его использования и используй стандартные компоненты!!
ИМХО: между Delphi и Builder'ом не такая уж большая разница!!
1) Св-во NodeDataSize - в него записываешь размер структуры/класса, которая будет храниться в VST.
2) Св-во Header->Column - тут настраиваются колонки
3) Событие OnGetText - его надо обрабатывать, т.к. в нем выводиться текст непосредственно в компонент.
4) Два основных метода для работы - GetNodeData - получает данные, AddChild - добавляет узел.
P.S. Примеры на Delphi не такие уж и сложные. Вот здесь - http://soft-gems.net/VirtualTreeview/ есть примеры на C++Builder
вот хотелось бы по подробней как работает эта функция GetNodeData
p.s. это единственный нормальный компонент, он просто необходим мне, вот и пытаюсь разобратся.
procedure TForm1.VSTFreeNode(Sender: TBaseVirtualTree; Node: PVirtualNode);
var
Data: PVSTRecord;
begin
Data := Sender.GetNodeData(Node);
if Assigned(Data) then
Finalize(Data^);
end;
VST в принципе сам освобождает/выделяет память. Вручную надо освобождать то, что и выделено вручную. Хотя по собственному опыту могу скачать, что строки string надо удалять самому, так как они имеют свойство "утекать".
PVSTRecord Data;
Data = (PVSTRecord)Sender->GetNodeData(Node);
delete Data; - здесь ошибку к обращении памяти
как мне удалить выделенную структура ранее
Структуру можно не удалять. Само все удалится.
проверял не удаляется, создаю 10000 нодов выделяется 500 кб памяти удаляю их а память не освобождается