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