DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: lixuan123
今日帖子: 0
在线用户: 11
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 zhoupj (zhoupj) ★☆☆☆☆ -
普通会员
2004/7/29 22:41:34
标题:
TreeView使用删除问题,怎么办,明天要交了,帮我一下 浏览:1190
加入我的收藏
楼主: 我这个程序有错,那个帮我改改,是删节点的,我都调了一个晚上了,就是不行,很奇怪。
//这是调用以下删除函数的程序
procedure TForm1.N28Click(Sender: TObject);
var
 Node:TTreeNode;
begin
 Node:=TreeView.Selected ;
 TreeDeleteNode(Node).Focused;
end;

//这是删除程序
function TForm1.TreeDeleteNode(Node: TTreeNode): TTreeNode;
var
 childnode:TTreeNode;
 Nid:string;
begin
  childnode:=Node.GetLastChild;
  if childnode<>nil then
     childnode:=TreeDeleteNode(childnode);
  Nid:=indexpointer(node.Data)^.pid ;
  with DataModule1.Query_deletetree do
    begin
     Close;
     Sql.Clear;
     Sql.Text :='delete from project where project_id='+Nid;
     ExecSql;
    end;
   
   result:=node.Parent.GetPrevChild(node);
   Dispose(node.Data);
   node.Delete;
end;

大家帮看看,我都累死了就不懂错在那,有时可删除一些节点,多了就不可以了
----------------------------------------------
-
作者:
男 sephil (NAILY Soft) ★☆☆☆☆ -
盒子中级会员
2004/7/29 22:51:29
1楼: 没仔细看
可能你应该处理一下Node为空的情况
----------------------------------------------
Copyright 2008 ? NAILY Soft

Click here to redirect to my home
Click here to redirect to my blog
作者:
男 zhoupj (zhoupj) ★☆☆☆☆ -
普通会员
2004/7/29 22:56:33
2楼: 不是这问题,我是连删一些节点就出问题了(有时删一个,2个还行),还没空,就死了,帮忙看看了,真的,谢谢先,急死了
----------------------------------------------
-
作者:
男 sephil (NAILY Soft) ★☆☆☆☆ -
盒子中级会员
2004/7/29 22:57:22
3楼: 那就单步,看看错在那里
----------------------------------------------
Copyright 2008 ? NAILY Soft

Click here to redirect to my home
Click here to redirect to my blog
作者:
男 zhoupj (zhoupj) ★☆☆☆☆ -
普通会员
2004/7/29 23:04:19
4楼: 就是找不出了,在node.Delete这出错
----------------------------------------------
-
作者:
男 zhoupj (zhoupj) ★☆☆☆☆ -
普通会员
2004/7/29 23:05:16
5楼: 但是提示看不懂,一串什么读十六进制的地址的错误
----------------------------------------------
-
作者:
男 sephil (NAILY Soft) ★☆☆☆☆ -
盒子中级会员
2004/7/29 23:27:28
6楼: 应该是Dispose(node.Data);出错
----------------------------------------------
Copyright 2008 ? NAILY Soft

Click here to redirect to my home
Click here to redirect to my blog
作者:
男 zhoupj (zhoupj) ★☆☆☆☆ -
普通会员
2004/7/30 8:42:50
7楼: 那释放Data 中指向的内存空间怎么做呢,请高手指教,谢谢。
----------------------------------------------
-
作者:
女 yatouruihua (芮芮) ★☆☆☆☆ -
盒子活跃会员
2004/7/30 12:50:25
8楼: if childnode<>nil then
     childnode:=TreeDeleteNode(childnode);
改为  childnode<>null试试吧,我也不知道。
----------------------------------------------
别笑我笨!我一直在努力!
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行70.3125毫秒 RSS