我在建树的时候用了一个指针L_obj用来保存参数
........
while not ADOQuery2.Eof do
begin
New(L_Obj);
L_Obj.search_id := ADOQuery2.fieldbyname('tab_id').AsString;
L_Obj.show_name := ADOQuery2.fieldbyname('tab_name').AsString;
tmp:=TreeView1.Items.AddChildObject(nil, L_Obj.show_name , TObject(L_Obj));
adoquery2.next;
end
数据集有N个记录,树就有N树枝,同时就创建了N个L_obj,问怎样释放树的资源和L_obj的资源呢?
因为N很大,必须要释放
........
while not ADOQuery2.Eof do
begin
New(L_Obj);
L_Obj.search_id := ADOQuery2.fieldbyname('tab_id').AsString;
L_Obj.show_name := ADOQuery2.fieldbyname('tab_name').AsString;
tmp:=TreeView1.Items.AddChildObject(nil, L_Obj.show_name , TObject(L_Obj));
adoquery2.next;
end
数据集有N个记录,树就有N树枝,同时就创建了N个L_obj,问怎样释放树的资源和L_obj的资源呢?
因为N很大,必须要释放
解决方案 »
- 发现Delphi下一个很诡异的地方
- 怎么样提取EML文件(或MSG文件)中的附件
- vc与delphi用socket通讯的问题,delphi端不触发onReceive事件?请高手帮助
- 好好奇怪的问题,怎么会这样呢?在两个这listbox之间赋值,出现丢失字符的现象,怎么也想不出来是什么问题?
- 多个客户端同时对一个SERVERSOCKET进行操作会不会出错?
- 大家遇到这样的问题吗?
- 焦头烂额:这个流程为什么会这样走,请教高手!
- 关于使用Toolbar时,定制工具栏按钮的问题。
- 多线程与数据库问题,在线等候
- 有了解IRC的吗?
- rave中Memo換行亂碼問題!
- 何處可以下載倒TRxTrayIcon,TNMUDP,TColorCombobox控件
begin
New(L_Obj);
L_Obj.search_id := ADOQuery2.fieldbyname('tab_id').AsString;
L_Obj.show_name := ADOQuery2.fieldbyname('tab_name').AsString;
tmp:=TreeView1.Items.AddChildObject(nil, L_Obj.show_name , TObject(L_Obj));
adoquery2.next;
//这里不能先释放么?
end
yuechuan(yuechuan) ( ) 信誉:71 讲:看LZ的意思,估计这些指针以后还有其他用处
-----------------
是的,在别的事件中要调用,带入到tree中的这个参数。
Dispose(TreeView1.Items[i].Data);