<p>Am 23.08.2017 16:01 schrieb "Anthony Walter" <<a href="mailto:sysrpl@gmail.com">sysrpl@gmail.com</a>>:<br>
><br>
> As to what they are useful for, consider the following:<br>
><br>
> type<br>
> // IShellLink is define by Microsoft<br>
> IShellLinkHelper = record helper for IShellLink<br>
> public<br>
> procedure Save(const Target, Description, Link: string);<br>
> end;<br>
><br>
> procedure IShellLinkHelper.Save(const Target, Description, Link: string);<br>
> var<br>
> P: IPersistsFile;<br>
> begin<br>
> SetPath(Target); <br>
> SetDescription(Description);<br>
> if Self is IPersistsFile then<br>
> begin<br>
> P := Self as IPersistsFile;<br>
> P.Save(Link, True);<br>
> end;<br>
> end;<br>
></p>
<p>And I just noticed: it's "type helper" if you want to extend an interface, not "record helper" ;)</p>
<p>Regards,<br>
Sven</p>