<div dir="ltr"><div class="gmail_default" style><div class="gmail_default" style><font face="courier new, monospace">Hello All,</font></div><div class="gmail_default" style><font face="courier new, monospace"><br></font></div>

<div class="gmail_default" style><font face="courier new, monospace">I have a unit here:</font></div><div class="gmail_default" style><font face="courier new, monospace"><br></font></div><div class="gmail_default" style>
<font face="courier new, monospace"><a href="https://github.com/xrfang/pastats/blob/master/src/units/datalist.pas">https://github.com/xrfang/pastats/blob/master/src/units/datalist.pas</a><br>
</font></div><div class="gmail_default" style><font face="courier new, monospace"><br></font></div><div class="gmail_default" style><font face="courier new, monospace">which report this error:</font></div><div class="gmail_default" style>

<font face="courier new, monospace"><br></font></div><div class="gmail_default" style><font face="courier new, monospace"><div class="gmail_default">/home/xrfang/git/pastats/src/units/datalist.pas(61,17) Warning: An inherited method is hidden by "constructor TDataFrame.Create;"</div>

<div><br></div><div>However, the following code, which also define a new constructor without using "overload", does NOT have such warning.</div><div><br></div></font></div><div class="gmail_default" style><font face="courier new, monospace">program Project1;</font></div>

<div class="gmail_default" style><font face="courier new, monospace">{$mode objfpc}{$H+}</font></div><div class="gmail_default" style><font face="courier new, monospace">type</font></div><div class="gmail_default" style>
<font face="courier new, monospace">  TBase = class</font></div>
<div class="gmail_default" style><font face="courier new, monospace">  public</font></div><div class="gmail_default" style><font face="courier new, monospace">    constructor Create(AName: string);</font></div><div class="gmail_default" style>

<font face="courier new, monospace">  end;</font></div><div class="gmail_default" style><font face="courier new, monospace">  TDerived = class(TBase)</font></div><div class="gmail_default" style><font face="courier new, monospace">  public</font></div>

<div class="gmail_default" style><font face="courier new, monospace">    constructor Create;</font></div><div class="gmail_default" style><font face="courier new, monospace">  end;</font></div><div class="gmail_default" style>

<font face="courier new, monospace"><br></font></div><div class="gmail_default" style><font face="courier new, monospace">constructor TDerived.Create;</font></div><div class="gmail_default" style><font face="courier new, monospace">begin</font></div>

<div class="gmail_default" style><font face="courier new, monospace">  WriteLn('Creator of TDerived... anonymous');</font></div><div class="gmail_default" style><font face="courier new, monospace">end;</font></div>

<div class="gmail_default" style><font face="courier new, monospace"><br></font></div><div class="gmail_default" style><font face="courier new, monospace">constructor TBase.Create(AName: string);</font></div><div class="gmail_default" style>

<font face="courier new, monospace">begin</font></div><div class="gmail_default" style><font face="courier new, monospace">  WriteLn('Creator of TBase: ', AName);</font></div><div class="gmail_default" style><font face="courier new, monospace">end;</font></div>

<div class="gmail_default" style><font face="courier new, monospace"><br></font></div><div class="gmail_default" style><font face="courier new, monospace">var</font></div><div class="gmail_default" style><font face="courier new, monospace">  obj: TDerived;</font></div>

<div class="gmail_default" style><font face="courier new, monospace">begin</font></div><div class="gmail_default" style><font face="courier new, monospace">  obj := TDerived.Create;</font></div><div class="gmail_default" style>

<span style="font-family:'courier new',monospace">end.    </span><br></div><div class="gmail_default" style><font face="courier new, monospace"><br></font></div><div class="gmail_default" style><font face="courier new, monospace">If I use reintroduce, I can suppress this warning. But m</font><span style="font-family:'courier new',monospace">y question is, why is this warning NOT displayed in the above sample code? In general, shall I use "reintroduce" keyword? Is it related to generics?</span></div>

<div class="gmail_default" style><span style="font-family:'courier new',monospace"><br></span></div><div class="gmail_default" style><span style="font-family:'courier new',monospace">Thanks!</span></div><div class="gmail_default" style>

<span style="font-family:'courier new',monospace"><br></span></div><div class="gmail_default" style><span style="font-family:'courier new',monospace">Xiangrong </span></div></div></div>