Well, Graham, you posed the question: > Isn't it true that > > send "myCmd x,y" to... > > just sends that exact string (minus the quotes) to the target: if > so, the target environment can only resolve x and y if it's in the > same name space as the script that did the sending (I mean if it is > able to evaluate x and y), which is in general not true (after all, > the point of handler parameters is to pass information from one > context to another)
My simple example shows that "x,y" are passed as their RESOLVED values rather than a STRING that is evaluated at the destination. The following stacks pass the values and puts the correct result into fld 2 Steps(A).. make a new mainstack, name it "Apple", drag two scroll flds, edit the stack script to the following, apply, then enter a value into line 1 and 2 of fld 1, dbl click. Steps(B).. make a new mainstack, name it "Banana", drag two scroll flds, edit the stack script to the following, apply, then enter a value into line 1 and 2 of fld 1, dbl click. Both stacks will update fld 2 in stack Apple ----Apple script ----------------- on mouseDoubleUp put line 1 of fld 1 into xx put line 2 of fld 1 into yy send "calc xx,yy" to me end mouseDoubleUp on calc xx,yy put xx * yy into fld 2 end calc on crossTest put line 1 of fld 1 into xx put line 2 of fld 1 into yy send "calc xx,yy" to stack Banana end crossTest ---Banana script ---------------------- on mouseDoubleUp put line 1 of fld 1 into xx put line 2 of fld 1 into yy --send "calc xx,yy" to me send "calc xx,yy" to stack Apple end mouseDoubleUp on calc xx,yy breakpoint put xx * yy into fld 2 of stack Apple end calc Rev 2.6.1, Mac OSX 10.4.6 Jim Ault Las Vegas On 5/22/06 8:00 AM, "Graham Samuel" <[EMAIL PROTECTED]> wrote: > On Sun, 21 May 2006 15:28:28 -0600, Dar Scott <[EMAIL PROTECTED]> wrote >> On May 21, 2006, at 3:01 PM, Sarah Reichelt wrote: >> >> >>> I always use something like: >>> send "myAdd " & pArrayA to stack "someStack" >>> >>> so that the variable is evaluated before the send. >>> >> >> Hi, Sarah! >> >> I'll pick on two aspects of that. >> >> >> First of all, I haven't been convinced that there are any merits to >> this: >> >> send "myCmd " & x & comma & y to ... >> >> Over this: >> >> send "myCmd x, y" to ... >> >> And it has some potential problems, such as when x contains a comma. >> (Also, the latter lends itself to some future (I hope) compiler >> optimization that compiles code that does not require runtime >> compiling.) >> >> >> Second, in this particular case where pArrayA is an array, the >> expression '"myAdd " & pArrayA' will resolve to "myAdd ". The array >> value looks empty to '&'. > > Isn't it true that > > send "myCmd x,y" to... > > just sends that exact string (minus the quotes) to the target: if > so, the target environment can only resolve x and y if it's in the > same name space as the script that did the sending (I mean if it is > able to evaluate x and y), which is in general not true (after all, > the point of handler parameters is to pass information from one > context to another). So if I'm right > > send "myCmd"& x &","& y to... > > first evaluates x and y in the context of the sender (which is what > Sarah said) and therefore achieves the expected result, whereas the > other method doesn't. Arrays being a special case may not work > anyway, but I'm trying to make a more general point. > > I hope what I've just written makes sense. > > Graham > > > ---------------------------------------- > Graham Samuel / The Living Fossil Co. / UK and France > > _______________________________________________ > 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
