Hi Mark,
I looked at the information you pasted below too, don't worry! It's
the document that is "foggy" not you! I've read and re-read it over
and over again and I am not 100% sure of what is "supposed" to happen
either!
I change the "me" to "the target" and it still doesn't work!
One thing I did was to add the following to ObjectY:MessageY:
put the long name of me & cr & the long name of the target
To dump the names to the the message box, they are Identical so it's
not surprising it doesn't work either!
I also played with this:
put the long name of me into myLongName
put "MessageY" into myLongName
However, this just assigns "MessageY" to myLongName!
Do you know how I can force it to use the contents of myLongName as a
field reference?
Thanks a lot
All the Best
Dave
On 23 Mar 2006, at 12:23, Mark Smith wrote:
Scratch that - sorry, I'd left the 'go cd' line in...taking it
out, using 'the target' also fails.
So, to narrow down the problem,
I made a mainstack - stack "mp" with 2 cards. On card 2 there is a
field "f1" with the script
on showMessage tm
beep
put tm into me
end show message
I then made a substack - stack "mps", with a button, whose script is
on mouseUp
put "hello" into tm
send "showMessage tm" to fld "f1" of cd 2 of stack "mp"
end mouseUp
Now, if cd 2 of stack "mp" is the current cd of stack "mp", on
clicking the button in stack "mps", I hear a beep, and the word
'hello' appears in fld "f1". So far so good.
However, if cd 1 is the current card of stack "mp", on clicking the
button in stack "mps", I hear a beep. I then go to cd 2 of stack
"mp", and fld "f1" is empty...
Inserting "put tm" into the showMessage handler in fld "f1", I
click, and "hello" appears in the message box, so the parameter is
certainly getting there. Then inserting "put the target" into the
showMessage handler, I click, and "field "f1"" appears in the
message box, but still fld "f1" is empty.
I'm baffled.
Mark
On 23 Mar 2006, at 11:56, Mark Smith wrote:
I just set up a slightly simpler version of what you've described,
and got exactly the same results. I then inserted 'go cd 2 of
stack "stackMain" into then putMessage handler, just before the
'send to' line, and it works as desired,
so it's definitely a context problem. Checking the docs:
-----
If the currently executing handler is in the script of the object
that received the original message, then me is the same as the
object whose name is returned by the target function. For example,
suppose a button script contains a mouseDown handler. The value of
the target function within that mouseDown handler is the same as
the name of me: the name of the button.
However, if the mouseDown handler is in the card's script instead
of the button's, me is not the same as the object specified by the
target. In this case, me is the card, but the target function
returns the button's name, because the button is the object that
first received the mouseDown message.
----
which to my slightly foggy mind suggests that when explicitly
'send' ing a message to an object from another object (overiding
the message path) it might be necessary to use 'the target' rather
than 'me'..
so now I've substituted "the target" for "me" in the objects
script, and the problem seems to be solved. Does that work for you?
Mark
_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution