I disagree with you. Most getter functions only do that, get the value
without changing anything, but are functions because the resulting value
is processed.
A property getter function, can, but should not, change anything.
Even if the getter changes something, it´s up to you, as a developer, to
inspect such property or not...
I use this every day on Delphi and, in my work, is an invaluable tool,
that lazarus should have.
May be, for people like you, in the debugger options page, could be an
option to disable this funcionatility for tooltip debugging or for all
the debugging, but this should be enabled by default.
This is only my point of view.
Horacio
Martin escribió:
Properties that have a function to provide the value can not be
inspected.
* And I am more than happy they can not *
Yes Delphi can do this and does do this. And what does it mean? If in
Delphi I accidentally hover the mouse over a property, The function is
called (actually Delphi calls it twice). As a result all Values on the
object change (because many functions do more than just read values,
they update values too).
The application is in a state that is no longer correct (because the
values have changed to something they where not supposed to be). And I
have to abort my debug session and start over. What help is that?
What help is it when an IDE (Delphi) silently and without warning does
things that change the state of my application. How can I expect any
results from debugging if the IDE messes around in such ways with the
application that I debug?
As far as I am aware the purpose of debugging is to get the same
results as in a normal execution. This is unless I intentionally and
explicitly ask the debugger/IDE to modify the data.
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus