Yes, Dave's suggestion works in context - but my problem that the context of the handler is different from that of the field whose id I want to pass as a parameter: this has to be true if the handler is to be at all worthwhile, as it does its work on ids of objects from various stacks etc. That's where the difficulty lies. Geoff Canyon's idea of making sure the RR engine can't parse the id reference seems to be the way to go:

I've hit this before. I generally postfix a cr like so:

   put (the long id of fld "myField" of cd "myCard" of stack
"myStack") & cr into tParam
   myHandler tParam

Then in myHandler:

on myHandler pID
   delete char -1 of pID -- ready to go now

or if it could be a list:

on myHandler pIDList
   repeat for each line tID in pIDList

Although somehow I would expect there to be a way of passing a 'parse- able' string **as** a string, but apparently not.

Thanks to both of you.

Graham

On Wed, 22 Mar 2006 17:09:33 +0000, David Burgun <[EMAIL PROTECTED]> wrote:
Hi,


Instead of doing:

myHandler (the long id of fld "myField" of cd "myCard" of stack
"myStack")

do

myHandler (the long id of me)


That should fix it!

All the Best
Dave

On 22 Mar 2006, at 14:47, Graham Samuel wrote:


I've never come across this before, and it's got me confused. I
have a handler, say "myHandler" that has a couple of parameters
which are intended to be the long ids of objects (actually fields).
The handler manipulates the fields, something like

  on myHandler para1

    do "put empty into"&&para1

    ...

  end myHandler

I find that this works if the parameters are set in the same
context as the handler itself - for example in a 'mouseUp' handler
on the card where I've put the code of myHandler, but if I call it
from elsewhere with a call like

   myHandler (the long id of fld "myField" of cd "myCard" of stack
"myStack")

I find that during the call the engine evaluates the parameter and
passes me the contents of the field, and not the reference to the
field. What I want is to pass the long id to my handler as a
**string**. I can't see why this doesn't work, and more importantly
so far I'm stuck for a way round it. I've tried

  put the long id of fld "myField" of cd "myCard" of stack
"myStack" into temp
  myHandler temp

but it has exactly the same effect.

What am I doing wrong?


----------------------------------------
Graham Samuel / The Living Fossil Co. / UK and France

_______________________________________________
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

Reply via email to