'send' and behaviors
m.schonewille at economy-x-talk.com
Sun Jun 3 05:07:24 EDT 2012
If you are using the same script for multiple cards, then you could use a property:
set the someProp of cd x to y
setProp someProp theData
put the long id of the target into myTarget
put line 1 of theData into field x1 of myTarget
put line 2 of theData into field x2 of myTarget
Maybe you don't even need theData and you could also use a simple command handler with the long id of a card as parameter.
If you really want to open a card before putting text into itse fields, you can do this:
put bla into fld x
Economy-x-Talk Consulting and Software Engineering
Use Color Converter to convert CMYK, RGB, RAL, XYZ, H.Lab and other colour spaces. http://www.color-converter.com
On 3 jun 2012, at 10:11, Graham Samuel wrote:
> Thanks to Mark and Dar for your replies. I'm afraid I didn't explain myself clearly, and I chose a stupid example of what I thought was the 'wrong' card reference, which obscured my real problem, which is this - the handler which I've called "doSomething" was written to take advantage of the context of the card it belongs on, so there are lots of references to objects like
> put someFunction (fld "myField1") into fld "myField2"
> and a lot more complex stuff involving lists of object names etc. Obviously in this context I don't have to write
> fld "myField2" of me
> or anything to set the context of the object name, because the path to the object (the field in my example) is implied. What I was trying to do was to recreate the context from outside the card, so that this type of coding would still work. I naively assumed that if the defaultStack is changed by the 'send', then the defaultCard (OK I know there is no such language reference in LC but you know what I mean) would be changed too. In fact what happens is that the new current card is simply the last card to be 'shown' in the new stack. Really I don't even want to change stacks, just cards. My simplification also obscured the fact that what I really do from card "A" is to
> send "doSomething" to grp "someGroupedControls" of cd "B"
> but I don't think this changes anything.
> AFAICS I will simply have to put overt references into my handlers of this type, which is a bummer because there are a lot of them. This would I suppose be solved if I did something like
> go card "B"
> to start with (since it sets what I call the defaultCard), but then I would have to devise a mechanism for getting back to card "A" after the handler is executed, which looks pretty ugly to me - but of course I could be wrong, since I so often am.
> Well, you learn something new every day.
> Thanks again
More information about the Use-livecode