求助treeview.node.data Tnode2 := TVdept.Items.AddChild(Tnode,deptname); Tnode2.Data := Pointer(deptid);如何取出deptid? 结构体,类啊就算了,我想简单点。先谢各位了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 道理一样的,存的什么类型,就用什么类型转换string(Tnode2.Data); 应该这么用:var deptid:PChar begin new(deptid, size); Tnode2 := TVdept.Items.AddChild(Tnode,deptname); Tnode2.Data := deptid;end;另外程序结束时别忘记释放 使用data需要分配、释放内存空间太麻烦我给Treenode增加了一个dataString,使用起来就无须分配、释放内存空间了 var deptid : PString;begin //... New(deptd); deptd^ := .....; Tnode2 := TVdept.Items.AddChild(Tnode,deptname); Tnode2.Data := Pointer(deptid); //增加过程不能对deptid释放end;取数据的时候var deptid : PString;begin //... deptid := Tnode2.Data; ShowMessage(deptid^); //end;//释放的时候procedure TForm1.TreeView1Deletion(Sender: TObject; Node: TTreeNode);begin Dispose(PString(Node.Data));end;不过我偏好,在Form上定义一个array of xxx然后在Node.Data中写入序号,取出序号,然后在array中即可取得数据这样就可以不管释放的问题. 一个关于EXCEL的问题 ■■■向表中添加数据时,怎样判断表中已经有相同的数据存在? 关于数据导出 Excel ,有多列合并为一列的问题 如何在RICHEDIT或其他类型的编辑控件中将文字隐藏,使用户无法编辑 线程和数据库的问题 谁有文件切割的代码?! 哪位高手有关于DBgrid和ADO关联应用的经典Demo! 急需POS收银系统!!! 关于MaskEdit,非高手莫进 各位大俠,幫我?????? record 中的 string 会自动释放么?? 哪位帮忙翻译下VLFeat中SIFT算法的Pascal Header
var
deptid:PChar
begin
new(deptid, size);
Tnode2 := TVdept.Items.AddChild(Tnode,deptname);
Tnode2.Data := deptid;
end;另外程序结束时别忘记释放
我给Treenode增加了一个dataString,使用起来就无须分配、释放内存空间了
deptid : PString;
begin
//...
New(deptd);
deptd^ := .....;
Tnode2 := TVdept.Items.AddChild(Tnode,deptname);
Tnode2.Data := Pointer(deptid);
//增加过程不能对deptid释放
end;取数据的时候
var
deptid : PString;
begin
//...
deptid := Tnode2.Data;
ShowMessage(deptid^);
//
end;//释放的时候
procedure TForm1.TreeView1Deletion(Sender: TObject; Node: TTreeNode);
begin
Dispose(PString(Node.Data));
end;
不过我偏好,在Form上定义一个array of xxx
然后在Node.Data中写入序号,取出序号,然后在array中即可取得数据
这样就可以不管释放的问题.