Weirdness Passing Messages

David Burgun dburgun at dsl.pipex.com
Wed Mar 22 13:51:46 EST 2006


Hi,

I have a 2 Stacks, StackMain and StackUtil. I used StackUtil as a  
"library stack" via the start using command.

In the Stack Script for StackUtil I have the following functions:

PutMessage()
ListenForMessages()

In StackMain Card 2 ObjectX, I do:

function InitObject
get ListenForMessages("MessageX")
end InitObject

on MessageX
put "MessageX" into me
get PutMessage("MessageY")
end MessageX

on mouseUp
put "MessageX" into me
get PutMessage("MessageY")
end mouseUp


In StackMain Card 2 ObjectY, I do:

function InitObject
get ListenForMessages("MessageY")
end InitObject

on MessageY
put "MessageY" into me
end MessageY


In StackMain Card 2 ObjectA, I do:

on mouseUp
get PutMessage("MessageX")
end mouseUp


If I press the button associated with Card 1 Object, then MessageX  
gets called in Card 2 ObjectX ok and ObjectX gets set to "MessageX".  
All is fine. MessageY in Card 2 ObjectY gets called ok too, BUT the  
field is NOT set to "MessageY" as expected????? However if I press  
the button associated with Card 2 ObjectX, again the MessageY in Card  
2 ObjectY gets called AND the field is set ok. All is fine.

The message passing has been tested and it works fine in general, but  
it seems like the following path does not work:

Card1:ObjectA:mouseUp -->Card2:MessageX:Card2:MessageY does not work.

But

Card2:ObjectX:mouseUp -->Card2:MessageY works ok.

The weird thing is that the handlers do get called and I have stepped  
over the statement that does:
put "MessageY" into me and that seems to work. However, when you  
select card 2, the field has not been changed.

Any Ideas???
Thanks in Advance
All the Best
Dave









More information about the use-livecode mailing list