[fpc-pascal] Property write access on records
pascaldragon at googlemail.com
Tue Mar 3 07:55:35 CET 2020
Ryan Joseph via fpc-pascal <fpc-pascal at lists.freepascal.org> schrieb am
Mo., 2. März 2020, 22:47:
> In the snippet below why isn't it an error to write to a field of the
> read-only property? I was hoping this would give me some type safety but it
> just writes to a temp variable and does nothing. Not very helpful if you
> ask me.
> TSheet = record
> m_tableSize: TVec2i;
> function GetTableSize: TVec2i;
> property TableSize: TVec2i read GetTableSize;
> sheet: TSheet;
> // why isn't this an error?
> sheet.x := 1;
I assume you mean "sheet.TableSize.x"? Otherwise your example makes no
In that case: you are working on a temporary copy of the record. It does
not affect the TSheet instance anymore (that's essentially the same reason
why C operators or var parameters are not allowed for properties).
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the fpc-pascal