<p>Am 09.06.2016 17:57 schrieb "Vojtěch Čihák" <<a href="mailto:vojtech.cihak@atlas.cz">vojtech.cihak@atlas.cz</a>>:<br>
><br>
> Hello,<br>
>  <br>
> I've got following declaration:<br>
> ...<br>
> {$modeswitch typehelpers}<br>
>  <br>
> interface<br>
>  <br>
> uses<br>
>   Classes, SysUtils;<br>
>  <br>
> type<br>
>   TBuffer = array of Single;<br>
>  <br>
>   { TBufferHelper }<br>
>   TBufferHelper = type helper for TBuffer<br>
>     procedure Clear;<br>
>   end;<br>
> ...<br>
> var aBuffer: TBuffer;<br>
> ...<br>
> And I can do:<br>
> aBuffer[3]:=5;<br>
> aBuffer.Clear;<br>
>  <br>
> Is it possible to do this without helper? Since it's IMO silly to have helper in the same unit as the original declaration. Helpers are usually used where extending of the original type is not possible, aren't they?</p>
<p>You can always set the array to Nil or use FillChar(), depending on what you want to achieve with Clear. You can also put the helper in another unit if you want, it doesn't need to be in the same as the type it extends.</p>
<p>Regards,<br>
Sven</p>