CnPack Forum » CnPack IDE 专家包(CnWizards) » 又是TntFrame惹的祸,改名出错


2010-9-26 16:49 gaoyanan
又是TntFrame惹的祸,改名出错

错误模块:组件名属性编辑器

CnWizards版本:0.9.6.569

错误现象:对于TntFrame,以及重载对象,修改组件名称时,出现“Invalid class typecast.”错误。

组件来源:TMS Unicode Component Pack v1.7.0.3


很郁闷,上次是无法在窗体上引用TntFrame,这次是改名错,难道大家不用TntFrame?或者认为别人一定要从TFrame继承?

请修正  TFrame   ---》  TCustomFrame

2010-9-26 18:48 Passion
请问复现的具体步骤?我们好查一下。

2010-9-26 20:42 gaoyanan
1.安装TMS Unicode Component Pack或者TNTWare组件包。
2.File --》New ---》 Other...,选择“TntFrame(Unicode)”
3.在object Inspector栏中双击“Name”属性,或者点击该属性右侧的“...”。

此时,该问题出现。当然,可以直接修改该属性。怀疑“组件名属性编辑器”代码中直接判断TFrame  对象,而不是TCustomFrame。

因为TntFrame是从TCustomFrame继承的,而我们一般情况下是从TFrame  继承。

PS:TNTWare是一个免费的unicode组件包,后来卖给了TMS ,两者核心基本一致。

2010-9-26 20:45 gaoyanan
这个问题是在一次修改二次继承的框架NAME属性时发现的,一开始还以为自己的问题,因为我手工修改了frm文件中一些对象的类。后来发现更换计算机并重新建立新项目,该问题依旧。

抱歉,没下载debug版本,这次没去拜读源代码。

2010-9-27 20:13 Passion
非常感谢报告。经过查证,确实是我们对TCusomFrame判断的一处失误。现已改正。下一版本将集成此修改。

2010-9-27 23:03 Passion
烦请下载最新的每日构建版0.9.7.590.
[url]http://www.cnpack.org/downbuilds.php[/url]

页: [1]


Powered by Discuz! Archiver 5.0.0  © 2001-2006 Comsenz Inc.