//nodelist1:tlist;
  //初始化
  DataSet.FindFirst;
  NodeList1:=TList.Create;  
  Grade:=0;
  //建立头节点
  New(Data);
  Data^:=DataSet.fieldbyName('Number').AsString;
  ThisNode:=TreeView.Items.AddObject(nil,DataSet.fieldByname('Name').AsString,Data);
  NodeList1.Add(ThisNode);
  DataSet.Next;
//////////////////
为什么NodeList1.count=0?(dataset非空)难道TTREENODE不是指针?

解决方案 »

  1.   

    Data^:=PChar(DataSet.fieldbyName('Number').AsString);//不知行不行
      

  2.   

    不用变成PCHAR,也能保存数据。
    我的问题不是这个,是TTreeNode好像不能保存在TLIST中。
      

  3.   

    从程序来看,看不出什么错误,
    不管TTREENODE是不是指针, nodelist1.add都会另count加1的。
    nodelist1.add(nil) 也会加1,
    不知道你是怎么判断count为1的.
      

  4.   

    debug后,判断的
    for i:=0 to list.count-1 do
    begin
    ~~~~~
    end;
    不循环
      

  5.   

    ThisNode:=TreeView.Items.AddObject(data,DataSet.fieldByname('Name').AsString,Data);试试
    你想实现什么?你的方法我是不会用的
      

  6.   

    代码是对的,没错,也能保存导Tlist中,看看DataSet
      

  7.   

    我想保存节点信息,以便后面程序使用到。
    dataset.fieldbyname('name').asstring
    debug 有数据,但节点保存不了?
    急~~~~~~~~~~~~~~~~
      

  8.   

    再问一句,两个TLIST,能不能List1:=list2;
    list2.free;
    LIST1S数据还在吗?我指针有时侯有的不太好。找到问提原因,给分!!!