setProp and Lock messages

Mark Schonewille m.schonewille at
Sat Dec 3 11:16:44 EST 2011

Hi Todd,

I don't quite understand your question. Surely, it is a good idea to use getProp and setProp handlers. You just need to make sure not to get trapped in a loop, but this applies to all messages. Sometimes, there is a danger that setting a property calls the setProp handler again, but locking messages prevents this from happening. A correct handler may look like this:

setProp cProp x
  lock messages
  set the cProp of the target to compress(x)
end cProp

getProp cProp
  lock messages
  return decompress(the cProp of the target)
end cProp

You need to lock messages if the target is an object on a card and the handler is at card or script level, or if the target is the card and the script is at stack level for instance.

Best regards,

Mark Schonewille

Economy-x-Talk Consulting and Software Engineering
KvK: 50277553

Become our partner in sales Start selling Color Converter today. 20% commission!

On 3 dec 2011, at 17:04, Todd Geist wrote:

> Hello,
> I understand that SetProp and GetProp handlers are messages and if Lock
> messages is on then these will not work.  But clearly people use GetProp
> and SetProp handlers. I see them used a lot in CustomControls. I assume the
> DataGrid uses them when you "set dgData of "….
> So I am looking for clarification. When is it bad idea to use GetProp and
> SetProp handlers?
> Thanks
> Todd

More information about the Use-livecode mailing list