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
On 23 Mar 2006, at 11:21, David Burgun wrote:
Update:
I just changed the code so that instead of:
put "MessageY" into me
It now reads:
put "MessageY" into field "FieldY" of group "Y" of card 2 of stack
"/Documents/Test/StackMain.rev"
And now the "put" statement works as expected!!!!!!!
Can anyone shed some light on this?
I really need to refer to the object without hardcoding it's name
into the Script, I thought that was what "me" was for?????
Is this a bug? If so is there a workaround??
Thanks a lot
All the Best
Dave
Hi,
As far as I know (I have asked this question on this list before)
and according to the documentation, "me" always refers to the
object that the script is running in.
Are you suggesting I change "me" to "long name of x" just to see if
it makes a difference or in general?
If you mean in general, then this will mean that a lot of the
reusability of code that is so good in RunRev will vanish and make
developing Apps MUCH slower. In fact if I have to do this then I
would seriously consider not using RunRev anymore.
I have lots of fields that all refer to "me", to change them now
would take forever and result in a lot of hand-tweaking every time
I want to re-use a Group.
Here is the problem again, described in simpler terms:
1 StackMain:Card1:ObjectA:mouseUp - Calls Function
StackUtil:PutMessage("MessageX")
2 StackUtil:PutMessage - Calls Handler
StackMain:Card2:ObjectX:MessageX (via send)
3 StackMain:Card2:ObjectX:MessageX - Put "MessageX" into me and
then Calls Function StackUtil:PutMessage("MessageY")
4 StackUtil:PutMessage - Calls Handler
StackMain:Card2:ObjectY:MessageY (via send)
5 StackMain:Card2:ObjectY:MessageY - Put "MessageY" into me
In this case the "put" statement at step 5 does NOT put "MessageY"
into StackMain:Card2:ObjectY (the object is unchanged), but the
"put" at step 3 works ok.
However, this does work:
1 StackMain:Card2:ObjectX:mouseUp - Calls Function
StackUtil:PutMessage("MessageY")
2 StackUtil:PutMessage - Calls Handler
StackMain:Card2:ObjectY:MessageY (via send)
3 StackMain:Card2:ObjectY:MessageY - Put "MessageY" into me
What could be going wrong here? Is it that I am mixing functions
and handlers?
How can I test to see if the context is the problem?
Any ideas on how to get this working would be greatly appreciated.
Thanks a lot
All the Best
Dave
On 23 Mar 2006, at 02:22, Mark Smith wrote:
Is it a context problem?
It might be worth trying to replace
put "MessageY" into me
with
put "MessageY" into <long name of control>
I've always thought that 'me' always referred to the control whose
script it appears in, but that's an assumption, not necessarily a
fact...
Mark
_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution
_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution