我在TTreeNode的data属性中存放了指向TMyRec的指针,我想问一下下面代码中的
New(MyRecPtr)所分配的空间是否需要手动用Dispose删除,还是由TTreeView来自动删除。
代码摘自Delphi help
type
PMyRec = ^TMyRec;
TMyRec = record
  FName: string;
  LName: string;
end;procedure TForm1.Button1Click(Sender: TObject);
var
  MyRecPtr: PMyRec;
  TreeViewIndex: LongInt;
begin
  New(MyRecPtr);//动态分配空间
  MyRecPtr^.FName := Edit1.Text;
  MyRecPtr^.LName := Edit2.Text;
  TreeViewIndex := StrToInt(Edit3.Text);
  with TreeView1 do
  begin
    if Items.Count = 0 then
      Items.AddObject(nil, 'Item' + IntToStr(TreeViewIndex), MyRecPtr)
    elseif (TreeViewIndex < Items.Count) and (TreeViewIndex >= 0) then
      Items.AddObject(Items[TreeViewIndex], 'Item' + IntToStr(TreeViewIndex), MyRecPtr);  end;
end;procedure TForm1.Button2Click(Sender: TObject);begin
  Label1.Caption := PMyRec(TreeView1.Selected.Data)^.FName + ' ' +
                  PMyRec(TreeView1.Selected.Data)^.LName;
end;