Delphi中继承自TFrame或TForm的类,DFM文件修改

在Delphi中,继承自TFrame的类在设计模式下会被错误地当作Form处理,导致运行时错误。解决方法是打开DFM文件,将首行的'Object'更改为'inherited',确保正确继承。示例中展示了如何更改DFM文件内容以避免'OldCreateOrder is not a property of TFrame'错误。
摘要由CSDN通过智能技术生成
 

Delphi中继承自TFrame或TForm的类,DFM文件修改

 在Delphi中,我们如果新的类继承自TFrame的子类,那么在设计模式下,IDE会把新的类当作Form进行编辑,导致运行时

出现类似这样的错误:"OldCreateOrder is not a property of TFrame" of course it is not!!“

解决次问题,只需要打开DFM文件,或在Form Designer中"View as Text",编辑首行,将"Object”,改为"inherited"

例如:

TFrame子类,新的基类:

type
  TFrameConfigBase = class(TFrame)
  private
    { Private declarations }
  protected
    FConf:IConfiguration;
    procedure SetConfiguration(Conf:IConfiguration);virtual;
    procedure WMActivate(var Message : TMessage);message WM_ACTIVATE;
  public
    { Public declarations }
    procedure DoFormCreate(); virtual;
    procedure DoFormShow(); virtual;
    property Configuration:IConfiguration read FConf write SetConfiguration;
  end;

新建的Frame,继承自TF

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值