Re: How can I pass a handler a long ID as a string?
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 On Mar 22, 2006, at 6:47 AM, 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 intopara1 ... 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? TIA Graham 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 ___ 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
Re: How can I pass a handler a long ID as a string?
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 intopara1 ... 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? TIA Graham 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 ___ 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
Re: How can I pass a handler a long ID as a string?
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 +, 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 intopara1 ... 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