要释放的释放TtreeView节点上的指针有两层。。语句怎么写啊,大哥大姐们。。   dispose(son_point(node.Data));
   dispose(father_point(node.Data));提示有错误啊~~~~~~~

解决方案 »

  1.   

    你把一块内存dispose两遍肯定会出问题。
    指针有两层是什么意思?
      

  2.   

    用属性记录指针的类型,例如node.tag或者把两个指针放在第3个指针里,第3个指针除了放父或子指针外,还多一个记录父子类型的属性。
      

  3.   

    释放函数:参考一下吧。]
    procedure ClearTree(tree: TTreeview);
    var
      i:integer;
    begin
      if tree<>nil then
      begin
        for  i:=0  to tree.Items.Count-1 do
        begin
          if tree.items.Item[i].Data<>nil then
          begin
              Dispose(tree.Items.Item[i].Data);
          end;    end;
        tree.Items.Clear;
    end;end;
      

  4.   

    如何 刷新 Treeview 呢?  Treeview 记录对应数据库中的记录,通过指针进行关连!在生成树时,将记录号分给 data 指针
    这种情况下如何对Treeview 进行刷新呢?