张志峰的博客

水滴石川,积少成多。

导航

最近整理前人的代码,有好多的hint和waring, 其中整理到Method 'CreateNew' hides virtual method of base type 'TCustomForm', 搞了好一会, 记录下来。

之前这个方法没有加上 reintroduce;overload;   

Reintroduce: 在子孙类中要声明一个与祖先类中参数不同的方法的时候用Reintroduce,其实你不使用reintroduce也会覆盖屏蔽父类的方法的但是会产生一个警告,   
  使用了这个关键字,表明你要屏蔽这样不会产生警告。 

class procedure CreateNew(AOwner: TComponent; iFkid: Integer); reintroduce;overload;

 

 

class procedure Tfrmaaa.CreateNew(AOwner: TComponent;
iFkid: Integer);
var
frm: Tfrmaaa;
begin
frm := Tfrmaaa.Create(AOwner);
try
frm.LoadNew(iFkid);
frm.ShowModal;
finally
frm.Free;
end;
end;