动态添加treeview的item时,treeview有时会自动nil,然后再重新出现,有时就会找不到treeview,请问各位大虾这是否是delphi 的bu

  • 主题发起人 c_yd2000
  • 开始时间
C

c_yd2000

Unregistered / Unconfirmed
GUEST, unregistred user!
动态添加treeview的item时,treeview有时会自动nil,然后再重新出现,有时就会找不到treeview,请问各位大虾这是否是delphi 的bug?如何找到treeview?(100分)<br />动态添加treeview的item时,treeview有时会自动nil,然后再重新出现,
有时就会找不到treeview,请问各位大虾这是否是delphi 的bug?如何找到treeview?
 
我的Delphi没这问题
 
不太明白你说的是什么意思,什么自动nil啊?是消失吗?我好像没有碰到过,建议你在动态
添加item时,先将treeview的enabled设为false,添加完后再改回来,另外如果添加大量的数据
添加过程会变的很慢,我的程序添加5*70个点大约需要十几秒(也可能是我的机器不好,赛扬
1G的),最后我没办法只好加了一个线程,在添加前先设treeview.enabled:=false;在添加完
后再设为true;
 
添加节点应该很快的,也没有哪个什么Bug的
但是如果
for i:=0 to Treeview1.items.count-1 do
TreeView1.items.data:=NIl;
这样子访问节点非常slow
最好getfirstnode getnext getnextsubling等函数来进行,比较快
 
没见过你说的情况,一个创建了的对象怎么会自动成为nil了呢?匪夷所思,有代码的话贴
出来看看。

添加(遍历节点)节点多、速度慢的话可以在添加之前
TreeView1.Items.BeginUpdate ;
在添加结束后
TreeView1.Items.EndUpdate ;
主要是添加时刷新控件慢,和TreeView的enabled属性没有什么关系。
 
动态添加item前,要先动态添加一button控件,跟踪treeview发现(Evaluate/modify):
在给button加事件时每次都会出现找不到treeview,
然后又找到了,只有第三次时总是找不到treeview的值。
我用的是delphi7.
动态添加item时并不要求速度,每次要间隔一定的时间。
 
我自己解决了。多谢各位。发分。
 
多人接受答案了。
 
顶部