The behavior is just a string of text so I think you need quotes around the behavior:
set the behavior of the image to "button id 1721 of stack" & quote & "myCoolGameStack" & quote I set the behavior to the long id of the button, just because I don;t have write the clumsy code to put quotes around the stack name. On Mon, Aug 31, 2015 at 3:02 PM Roger Guay <i...@mac.com> wrote: > I think I understand your point here, Richard, except the association with > your last sentence. I thought the long id would insure the use of a > behavior of buttons outside the host stack. Put here is the thing: > > I successfully used this: > > "set the behavior of last image to the long id of button > “myCoolBehavior" of card “Main”” > > (card “main” is in myCoolSameStack stack) > > When I use the message box for the behavior of that image, I get: > > "button id 1721 of stack “myCoolSameStack”” > > why then can I not script: > > “set the behavior of the image to button id 1721 of stack > “myCoolSameStack"? > > > Thanks, > > Roger > > > > > > > On Aug 31, 2015, at 12:49 PM, Richard Gaskin <ambassa...@fourthworld.com> > wrote: > > > > Remember that in LiveCode objects are often containers, allowing us to > do things like: > > > > put field 1 into field 2 > > > > This works with button contents, and image contents as well - try this > in the Message Box: > > > > put image 1 > > > > You should see the binary image data in the Message Box, since that's > the value contained in that control. > > > > Buttons can contain data as well. When the button is used as a menu > this data is the list of menu items, but any button can have data stored in > it - try this on a standard push button: > > > > put "Something" into btn 1; put btn 1 > > > > The "set the behavior" command expects a *reference* to an object, but > usually can't understand the *contents* of an object. > > > > So it may be helpful to think of your line as: > > > > set the behavior of image id 1727 to \ > > (button id 1721 of stack “mySillyStack”) > > > > ...which obtains the text of the button, if any, and then attempts to > set the image's behavior property to that value. If we had used the button > we created in the above example as our object, your script line would be > interpreted as: > > > > set the behavior of image id 1727 to "Something" > > > > ...which of course can only confuse an otherwise-reasonably-smart > LiveCode engine. > > > > So as a general rule, having a habit of using the long id of an object > will give you a reliable *reference* to an object whenever's a reference is > needed, such as in the behavior property. > > > > -- > > _______________________________________________ > use-livecode mailing list > use-livecode@lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode