我在这个控件中使用如下句子来改变他的的结点的CHECKED属性,但老是报告错误
说产生EINVALIDCAST异常,消息是INVALID CLASS TAPECAST。意思是类型转换无效!句子是(EnhTreeView1.Items[M] as TEnhTreeNode).Checked :=True;
我用M来遍历EnhTreeView1的所有结点,并将每个结点前的CHECKBOX标记。但出错!哪个朋友使用过这个控件,帮忙看看!谢谢了!http://www.neweasier.com/vcl.html?class=4
上面这个页面的第8个控件就是我说的这个控件!下载地址!
说产生EINVALIDCAST异常,消息是INVALID CLASS TAPECAST。意思是类型转换无效!句子是(EnhTreeView1.Items[M] as TEnhTreeNode).Checked :=True;
我用M来遍历EnhTreeView1的所有结点,并将每个结点前的CHECKBOX标记。但出错!哪个朋友使用过这个控件,帮忙看看!谢谢了!http://www.neweasier.com/vcl.html?class=4
上面这个页面的第8个控件就是我说的这个控件!下载地址!
解决方案 »
- 如何用Delphi组件中的DBImage和opendialog做上传图片
- 用UDL连接SQL数据库出现“无效的授权说明”...
- 关于窗体融合的问题!
- 如何更改数据集中行的更新状态?
- 各位兄弟姐妹,快来看看,帮帮忙,我急啊!!!
- 请问如何实现监测某一个文件是否被更新(修改、增加内容)呢?
- 在字符串中怎么放进 ' ?
- 请教一个子窗口句柄问题。
- 救命!如何获取WebSnap Apllication的TEndUserSessionAdapter中封装的用户登陆信息!,急,在线等!
- 请问如何能够动态缩放图像?
- 在打开文件时总报错,怎样在打开文件前先释放掉文件?
- 如何判断datatime型字段是否在一个时间段范围之内
function CreateNode: TTreeNode; override;
我觉得应该是Override,如是Virtual的
Items[M] 就取不到TEnhTreeNode类
不过这样做了以后
不会有错误,但有些毛病,那个选择框变成空白
不知怎回事
if TEnhTreeNode(EnhTreeView1.Items[M]).Checked then
Beep;
这样的句子在编译和运行的时候都不回出错,但我试图写这个属性马上就包错。真是搞不懂,我已经检查了类型转换,没有任何问题,但还是包EINVALIDCAST错误。我看到下载的ZIP包里面有个TXT文件其中有这样的话:
“One thing with this component that is worth mentioning is that to access
the Checked property for the nodes, the y must be typecasted to TEnhTreeNode.”真是搞不懂了!我在看看你的意思,XZGYB!
而且,那里那个VIRTUAL只是方便你以后OVERRIDE的时候可以附带其他操作,所以作者强调一定要进行类型的转换。但如果要转换就存在一个问题,等于是父类的对象向子类方向进行转换,这会导致异常或者一个编译错误!呵呵,真是不清楚作者本人的意图,算了,实在不可以,我换控件了。
不过这终究是个问题!
刚看了
fcTreeView的代码,它是自己画的
这个控件还是比较不错的