<p>Am 27.10.2013 12:18 schrieb "Michael Van Canneyt" <<a href="mailto:michael@freepascal.org">michael@freepascal.org</a>>:<br>
>> Also,<br>
>> I don't understand why this does not work:<br>
>><br>
>> f := TFileStream.Create;<br>
>><br>
>> I know that TFileStream's Create require a file name parameter, but as TFileStream is inherited from TObject, which has a Create without parameter. This is why I feel that it is possible to HIDE a public<br>
>> constructor from ancestor.<br>
><br>
><br>
> I think this is a bug :)</p>
<p>No, I don't think so. If you want users to use the original constructor as well you'd need to declare yours as "overload". If it would be possible to call TFileStream.Create without parameters then the instance would be in an inconsistent state, so only calling the constructor with arguments should be possible (which is the case for TFileStream.</p>
<p>So this is definitely by design.</p>
<p>Regards,<br>
Sven</p>