<p>Am 31.10.2015 12:40 schrieb "Mark Morgan Lloyd" <<a href="mailto:markMLl.fpc-devel@telemetry.co.uk">markMLl.fpc-devel@telemetry.co.uk</a>>:<br>
><br>
> Mark Morgan Lloyd wrote:<br>
>><br>
>> Up to and including 2.6.4, this works:<br>
>><br>
>> TRoundRobin= CLASS(TObject)<br>
>> .<br>
>> PUBLIC<br>
>><br>
>> .<br>
>> (*$IFDEF HAS_TRUE YIELD *)<br>
>> PROPERTY HasTrueYield: BOOLEAN DEFAULT TRUE;<br>
>> (*$ELSE *)<br>
>> PROPERTY HasTrueYield: BOOLEAN DEFAULT FALSE;<br>
>> (*$ENDIF *)<br>
>> .<br>
>> END;<br>
>><br>
>> However using 3.0.0 rc1 I get<br>
>><br>
>> roundrobin.pas(80,55) Fatal: Syntax error, "READ" expected but "identifier DEFAULT" found<br>
>><br>
>> It looks as though this was coded for a facility that wasn't actually used, but that the intention was to convert a compile-time conditional into something that could be incorporated into an ordinary boolean expression.<br>
>><br>
>> What is the correct syntax, and how far back is FPC compatible with it?<br>
><br>
><br>
> Anybody got any thoughts on this please?</p>
<p>I answered already on 27th October. In case you missed it here's my answer again:</p>
<p>A property must have at least a read or a write accessor if it isn't inherited, so you need to add at least one of them. Since that is the standard form for properties FPC supports this since the "default" keyword for properties is supported.</p>
<p>Regards,<br>
Sven</p>