frame的奇怪问题 ( 积分: 200 )

  • 主题发起人 主题发起人 Avalon
  • 开始时间 开始时间
A

Avalon

Unregistered / Unconfirmed
GUEST, unregistred user!
现在做个小东西 需要用到frame 定义2个frame
定义如下
Tfrme_code = class(TFrame)
Tfrme_IE = class(TFrame)

程序运行OK

后来发现这2个frame有很多相同的方法
于是我把相同的方法定义到一个新的frame
Tfrme_comm = class(TFrame)
并重新定义原来那2个frame
Tfrme_code = class(Tfrme_comm)
Tfrme_IE = class(Tfrme_comm)

但问题就出来了 编译没有问题
在运行的时候报错 Property ClientHeight dose not exist!!

这是为什么呢?

我用的是 Turbo Delphi
 
就是ClientHeight属性不存在啊......你查代码

要不就把3个类,以及你调用的代码贴出来
 
其实问题处在dfm上

当我采用2级继承的frame时 其实frame不推荐这样去做
当设计frame的外观的时候 会引起这个问题

没法子 我只好先 吧 Tfrme_code = class(Tfrme_comm)
改为 Tfrme_code = class(Tframe) 去骗一下 系统 别让他
把frame当from处理

但界面修改完 再改回去

不知道delphi会这样处理有继承关系的frame
 
后退
顶部