[fpc-devel] Class property and virtual getter
Michael Schnell
mschnell at lumino.de
Fri May 23 12:13:11 CEST 2014
On 02/27/2014 04:35 PM, Jonas Maebe wrote:
>
> You have to declare an instance and then call its property. You don't
> have to instantiate the instance if the property maps to a class method.
>
>> Technically there's some obstacle to allow such construct?
>
> Class properties should be accessible from within static class
> methods. Having them accessible depending on the getter/setter they
> use (static or not) would break orthogonality (the
> visibility/usability must depend on the interface, not on the
> implementation of the interface).
I just came across the same issue and as well got the error "Only class
methods, class properties and class variables can be referred with class
references".
Hence I cant do "TmyClass.myProperty:=xyz;"
but I _can_ do "TmyClass.SetmyProperty(xyz);"
I in fact directly calling the "class" function that is denoted in the
definition of the property.
Hence: I am allowed to use a class variable instead of a property, and I
am allowed to call the setter class function, but I am not allowed to
use the syntax candy provided by the property keyword.
In fact I don't see why this should make sense.
The error message suggest that it should be possible to define a "class
property" similar to a class function. But this syntax seems to be
illegal (says the appropriate error message).
-Michael
More information about the fpc-devel
mailing list