list index out of bounds()错误,(关于treeview)!谢谢 我用了两个treeview,在其中的一个tree的点击事件中调用另一个tree的节点时出错;报告错误时list index out of bounds(n);(n随着点击的不同节点变化)代码如下:node:=tree_index.Items[first].Item[second].Item[third];请各位帮个忙,我刚学,很多都不懂,多谢!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 就是访问越界,比如tree_index下只有一个节点,你用tree_index.Items[3]就出list index out of bounds(3)的错误.呵呵你的代码中,first,second,third都是什么值? 你确信这些节点都存在吗? 尽量使用GetChild等函数,然后判断是否为nil,这样可以保证不会越界 这个是下标溢出报错,Item的本质是TStrings,也就是一个字符串数组。下标从0开始,最大下标是你的个数减去一。看看你访问的是不是合乎规范。如果你使用的下标不在这个范围内就会出现错误。相似的控件,ListBox, ComboBox, ListView等,都是如此。cheers 一般应先判断当前节点是否为空procedure TForm1.TreeView1Click(Sender: TObject);beginif TreeView1.Selected = nil then exit;.......end; 不好意思,我确定下标没有越界.item.getchild.getchild这样的函数可以访问的到,但是在item中一加1,2,3这样的变量就不行了!!node:=tree_index.Items[first].Item[second].Item[third];这样给一个ttreenode型的变量赋值的格式正确吗,其中first,second,thrid 都是数字变量; 如果没有溢出,那就是在你添加的时候一定要初始化。也就是Items.Clear 首先清空一下。可能会有效果。如果还不行,请贴出部分代码。 请问,厕所在哪里? 如何实现窗口之间的调用啊 怎么隐藏系统进程! 如何从本地备份远程sql数据库 关于UpdateBatch使用问题 有关临时字段 如何设置继承窗体的焦点? SQL2000如何建立T-SQL语句的任务(每天一次)将(日期〈当前日期-2)的记录删除??? 急!!有谁知道属性的赋值顺序!!(100分) Grid++Report报表点击打印很慢 请大家帮助一下,关于SetPixel如何使用??急 用delphi做的,像金山词霸一样的屏幕取词程序源码!谁要?
一般应先判断当前节点是否为空
procedure TForm1.TreeView1Click(Sender: TObject);
begin
if TreeView1.Selected = nil then exit;
.......
end;
node:=tree_index.Items[first].Item[second].Item[third];这样给一个ttreenode型的变量赋值的格式正确吗,其中first,second,thrid 都是数字变量;