代码如下,应该如何释放指针?谢谢……
type
      Pacf=^Tacf;
      Tacf=record
      ifguide :integer;
      CName,url :string;
     end;
procedure TForm1.Button1Click(Sender: TObject);
var
  prt:Pacf;
begin
new(prt);
    prt^.CName:=d2.FieldValues['cname'];
    prt^.url:=d2.FieldValues['url'];
    prt^.ifguide:=d2.FieldValues['ifguide'];
    Treeview1.Items.AddChildObject(tnode,d2.FieldValues['cname'] ,prt);
end;

解决方案 »

  1.   

    if Assigned(TreeNode.Data) then
    begin
      Dispos(TreeNode.Data);
      TreeNode.Data := nil;
    end;
      

  2.   

    if Assigned(tnode.Data) then
    begin
      Dispose(tnode.Data);
      tnode.Data := nil;
    end该代码放哪里?谢谢大侠!
      

  3.   

    你要释放prt^吗?它指向的是一个记录类型,而不是对象free(prt)就可以了
      

  4.   

    不对,好像是delete(prt);delphi系统函数记不清了
      

  5.   

    “如果是我,那我每删一个节点就释放一个”怎么做到每删一个节点就释放一个?是在treeview的ondeletion中写吗?
    节点中保存的数据是在单击节点时用到,那什么时间释放最好?
      

  6.   

    dispose在你需要清空TreeView时执行,比如FormDestroy;dispose意味着完全销毁该节点,释放所占内存