<div dir="auto"><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Ryan Joseph via fpc-pascal <<a href="mailto:fpc-pascal@lists.freepascal.org">fpc-pascal@lists.freepascal.org</a>> schrieb am Fr., 19. Feb. 2021, 17:32:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Btw, here's point of reference for this other proposed syntax.<br>
<br>
<a href="https://github.com/genericptr/freepascal/wiki/Default-Implements-Property" rel="noreferrer noreferrer" target="_blank">https://github.com/genericptr/freepascal/wiki/Default-Implements-Property</a></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Your example is not quite correct and it's also not really complete: if a class implements an interface there *must* be a parent class mentioned (at least TObject). Also your example should demonstrate that one can call TMyShape.Draw without having to retrieve the interface (after all that's the point of the interface property). </div><div dir="auto"><br></div><div dir="auto">Additionally support for raw interfaces (aka Corba) should be added for interface delegation if it isn't already supported. (Otherwise your TMyShape either needs to inherit from e.g. TInterfacedObject or one of the involved types needs to implement the methods of IInterface. </div><div dir="auto"><br></div><div dir="auto">Regards, </div><div dir="auto">Sven </div></div>