Alexander Klenin wrote:
On Sat, Nov 7, 2009 at 14:15, Martin <[email protected]> wrote:
The answer was that properties are meant to change the value on the object
immediately. Also a property setter can raise an exception, or additional
actions can take place or the value can be substituted....
All this wouldn't happen with a temp variable (or at best deferred).
Therefore the behaviour would not be according to the rules of properties
I thought about that too. There are few counter-arguments here:
Strictly speaking, properties are not *meant* to change anything
neither immediately nor
As I said it is not my argument, you better take it to the fpc list.
The one thing I may not have repeated clear enough: "expected to change"
Of course the setter is expected to change (at least a member variable).
So if your functions/procedure does
MyProc(var SomeValueFromProertyasTempVar: integer);
begin
SomeValueFromProertyasTemp := 1;
Foo();
end
and Foo reads the property in question, then Foo sees the old value,
even so it is expected to have changed already.
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus