Board logo

Subject: 又是TntFrame惹的祸,改名出错 [Print This Page]

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

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

CnWizards版本:0.9.6.569

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

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


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

请修正  TFrame   ---》  TCustomFrame
Author: Passion    Time: 2010-9-26 18:48

请问复现的具体步骤?我们好查一下。
Author: gaoyanan    Time: 2010-9-26 20:42

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 ,两者核心基本一致。
Author: gaoyanan    Time: 2010-9-26 20:45

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

抱歉,没下载debug版本,这次没去拜读源代码。
Author: Passion    Time: 2010-9-27 20:13

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

烦请下载最新的每日构建版0.9.7.590.
http://www.cnpack.org/downbuilds.php




Welcome to CnPack Forum (http://bbs.cnpack.org/) Powered by Discuz! 5.0.0