如何防止父构造函数被调用?

时间:2019-06-19 14:14:29

标签: delphi inheritance

我创建了一个新的后代,该后代使基本构造函数超载

TJSONTOXML = class(TIpwJSON)
            private
               ...
            public
               constructor Create(AOwner: TForm; ALogLevel: Integer); reintroduce; overload;
            end;

但是我忘了更改以前的创建调用

lIpwJSON := TIpwJSON.Create(Self);

到新

lJSONToXML := TJSON2XML.Create(Self,lLevel);

相反,我只是替换了类型,所以它是:

lJSONToXML := TJSON2XML.Create(Self);

我花了很多时间才弄清楚;-(

有没有办法防止这种情况? 我可以使用Create(AOwner)进行肮脏的Assert(False)覆盖,但更喜欢更简洁的方法。

注意:父级构造函数是

public

  constructor Create(AOwner: TComponent); overload; override;
  constructor Create(AOwner: TComponent; OEMKey: string); reintroduce; overload;

0 个答案:

没有答案