[fpc-devel] Should TAutoIncField be read only?
Luiz Americo Pereira Camara
luizmed at oi.com.br
Wed May 19 19:14:16 CEST 2010
Joost van der Sluis escreveu:
> On Wed, 2010-05-19 at 00:32 -0300, Luiz Americo Pereira Camara wrote:
>
>> Until a few moments ago i would say yes because it seems logical and fpc
>> raises an exception when trying to set the value programatically.
>>
>> But while investigating why TAutoIncField.ReadOnly always returns false,
>> i found that, regardless of FReadOnly being set to true in the
>> constructor, this value is overriden in TFieldDef.CreateField throung
>> Attributes.faReadOnly flag.
>>
>> So i tested in Delphi (TClientDatset and TDbf) and found that
>> TAutoIncField.ReadOnly is false (like fpc).
>>
>> So what should fpc do:
>> - Follow delphi behavior and let TAutoIncField.ReadOnly return False?
>> - Fix TAutoIncField.ReadOnly to return True?
>>
>
> That's not fixing it, that's breaking it. Readonly have to be false for
> autoincremental fields.
>
I'm just confused by the exception that is raised ("autoinc fields are
read only") when trying to set a value and by the code in the
TAutoIncField constructor that initializes FReadOnly to true.
Attached is a patch that removes this initialization.
Luiz
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: autoincreadonly.diff
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20100519/de136aa5/attachment.ksh>
More information about the fpc-devel
mailing list