Tquestions为一个自定义记录类型
Pquestions=^Tquestions;代码如下:
procedure TSDIAppForm.AddNewNode(que:Tquestions);
var
  newnode,parentNode:TTreeNode;
  quetmp:Pquestions;
begin
  Treeview1.SetFocus;
  case que.que_type of
    0:  parentnode:=treeview1.Items.Item[0].Item[0];
    1:  parentnode:=treeview1.Items.Item[0].Item[1];
    2:  parentnode:=treeview1.Items.Item[0].Item[2];
    3:  parentnode:=treeview1.Items.Item[0].Item[3];
  end;
  newnode:=treeview1.Items.AddChildObject(parentnode,'test',@que);
  newnode.SelectedIndex:=10;
  newnode.ImageIndex:=8;
  newnode.StateIndex:=-1;
  newnode.Text:=que.que_memo;
  new(que);
  quetmp:=newnode.Data;
  showmessage(quetmp.que_memo);<---------这里能够正确显示que_memo
end;procedure TSDIAppForm.SpeedButton1Click(Sender: TObject);
var que : Pquestions;
begin
  new(que);
  que:= treeview1.Selected.Data;
   showmessage(que.que_memo);<--------?????????这里不能够正确显示que_memo
end;请指正(详码)!

解决方案 »

  1.   

    注意,
    在addnewnode裡面
    你應該是將treeview1.Selected.Data指向que,但是你已經銷毀了
    所以,你應該傳值
      

  2.   

    多谢,解决了:) CSDN - 专家门诊 - 问题 
     推荐给朋友 | 关闭窗口  
     
     
     
      主  题:  treeview控件的data属性问题 
    作  者:  whzxk ()  
    等  级:   
    信 誉 分:  98 
    人  气:  0 
    所属论坛:  Delphi 基础类 
    问题点数:  20   
    回复次数:  2 
    发表时间:  2003-10-22 20:31:33 
       
     
       
    Tquestions为一个自定义记录类型  
    Pquestions=^Tquestions;  
     
    代码如下:  
    procedure  TSDIAppForm.AddNewNode(que:Tquestions);  
    var  
       newnode,parentNode:TTreeNode;  
       quetmp:Pquestions;  
    begin  
       Treeview1.SetFocus;  
       case  que.que_type  of  
           0:    parentnode:=treeview1.Items.Item[0].Item[0];  
           1:    parentnode:=treeview1.Items.Item[0].Item[1];  
           2:    parentnode:=treeview1.Items.Item[0].Item[2];  
           3:    parentnode:=treeview1.Items.Item[0].Item[3];  
       end;  
       new(quetmp);     ********
       quetmp.que_memo:=que_que_memo;  ********
       newnode:=treeview1.Items.AddChildObject(parentnode,'test',quetmp);  ******
       newnode.SelectedIndex:=10;  
       newnode.ImageIndex:=8;  
       newnode.StateIndex:=-1;  
       newnode.Text:=que.que_memo;  
       
    end;