Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Virtual Treeview - в дереве объекты разных типов


Автор: Herzchen 24.5.2009, 16:31
Добрый день!

Вопрос такой: Возможна ли реализация дерева на Virtual Treeview у которого каждый родитель содержит один тип объекта, а каждый потомок другой?

Например:
Любой родитель содержит запись из 3 строк, 
а любой потомок содержит запись из строки и 2-х integer-ов.

И как потом можно такое дерево считать или записать в файл?

Помогите пожалуйста! Заранее спасибо.

Автор: Caduser 25.5.2009, 22:03
Я использовал обходной путь, создал record содержащий поле типа TObject, а затем в этот TObject создавал разные классы.
 
Код

  TMyNode = record
    OtherData: TObject;   
  end;
  PMyNode  = ^ TMyNode ;

//...

  NodeData.OtherData := TMyClass1.Create;

//...

  NodeData.OtherData := TMyClass2.Create;



память очищаю так:
Код

procedure TfrmForm1.VT1FreeNode(Sender: TBaseVirtualTree;
  Node: PVirtualNode);
var
  NodeData: PMyNode;
begin
  NodeData := Sender.GetNodeData(Node);

  if Assigned(NodeData.OtherData) then
    FreeAndNil(NodeData.OtherData);

  //Finalize(NodeData^); // Clear string data.
end;


Автор: Herzchen 30.5.2009, 12:20
хорошая идея спасибо

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