setProp and Lock messages
ambassador at fourthworld.com
Sat Dec 3 15:53:13 CST 2011
Using getProp and setProp seem like good choices initially, since they
allow us to make what might appear to be reasonably simple,
They are tricky, for many reasons.
You've identified the most commonly-discussed issue: preventing
recursion by locking messages.
But there's a bigger issue: if any other script has the lockMessages
set while triggering any action which would normally trigger a getProp
or setProp, your getProp/setProp won't happen.
For these reasons, I've pretty much lost interest in getProp and
setProp, in favor of more broadly-reliable and explicit methods of doing
things, even if these alternatives seem a bit less fashionable:
I just use accessor handlers. Nothing fancy, just explicit calls to
commands and functions to get and set values and trigger other behaviors
where once upon a time I might have used getProp/setProp.
Extra bonus points: it often requires less typing as well. :)
getProp/setProp can still be very useful when you need to work on
specific control instances and want the behavior to be bypassed whenever
lockMessages is true. In that rare case, getProp/setProp are unbeatable.
But for everything else, I tend to use simple accessors....
LiveCode training and consulting: http://www.fourthworld.com
Webzine for LiveCode developers: http://www.LiveCodeJournal.com
LiveCode Journal blog: http://LiveCodejournal.com/blog.irv
More information about the use-livecode