<p>Am 28.06.2012 15:23 schrieb "Bernd" <<a href="mailto:prof7bit@gmail.com">prof7bit@gmail.com</a>>:<br>
><br>
> hello, I am referring to this: <a href="http://wiki.freepascal.org/Helper_types">http://wiki.freepascal.org/Helper_types</a><br>
><br>
> I am using 2.6.1 from the fixes branch, last updated no longer than a week ago.<br>
><br>
> the wiki mentions this syntax:<br>
><br>
> TTestHelper = record helper for TTest<br>
>  procedure SomeMethod;<br>
> end;<br>
><br>
> Now I must be understanding something completely wrong or doing<br>
> something incredibly stupid but I can't find it, do I have to enable<br>
> some mode switch for record helpers to work or is there something else<br>
> that prevents my code from compiling? I am trying to do the following:<br>
><br>
><br>
><br>
> unit purple;<br>
><br>
> {$mode objfpc}{$H+}<br>
> {$if FPC_FULLVERSION < 20600}<br>
>  {$fatal *** You need Free Pascal Compiler version 2.6.0 or higher *** }<br>
> {$endif}<br>
><br>
> interface<br>
> uses<br>
>  Classes,<br>
>  ctypes,<br>
>  glib2;<br>
><br>
> type<br>
>  TGListHelper = record helper for TGList<br>
>    function Append(Item: Pointer): Pointer;<br>
>  end;<br>
><br>
> and it will generate the following error:<br>
> libpurple/purple.pas(77,32) Fatal: Syntax error, ":" expected but "FOR" found<br>
><br>
> I have stripped down the example to the bare minimum, so the line<br>
> numbers do not match but in the original file (77,32) points to the<br>
> "for" in the first line of the type declaration. What is wrong?</p>
<p>Ops... seems that I have forgotten to mention this: in non-Delphi modes you need to enable the "advancedrecords" modeswitch to be able to declare record helpers.</p>
<p>Regards,<br>
Sven</p>