Thanks Stephen and Ian. It is true that I declare each global variables inside every handler where it is used. I have a sizable application now where this strategy is employed everywhere. In doing so I followed this statement in the User Guide to 4.6.2:
5.5.4 Global Variables (page 143, below the pink Important box) "You can use the global command either inside a handler, or outside any handler at the top of a script (like a script local)." In choosing between these two recommendations I decided that putting the global declaration inside the handler makes the handler more portable. But I'll follow your advice and mess with this some more after a good night's sleep. Gratefully, Slava > -----Original Message----- > From: use-livecode-boun...@lists.runrev.com [mailto:use-livecode- > boun...@lists.runrev.com] On Behalf Of Ian McKnight > Sent: Sunday, July 10, 2011 2:23 AM > To: How to use LiveCode > Subject: Re: global variable change in substack not available to main > stack > > Hi > > I just recreated you scripts in a stack. > > Stephen Barncard is correct the more usual place to put the global > statement > is outside the handlers at the top of the script. > > However. Your original card script is incomplete since the 'put' > statement > needs to be put into a handler. > > eg > global gBgColor > > on openstack -- or preOpenStack or whatever > put 0, 0, 0 into gBgColor > end openstack > > When I made this change the gBgColor reflects changes made in the > mousedown > script. > > > BTW I know that it works the way you have it but when using colour info > like > 0,0,0 I would recommend putting it into quotes "0,0,0" > > HTH > > On 10 July 2011 07:02, Slava Paperno <sl...@lexiconbridge.com> wrote: > > > In openCard script of the main stack: > > > > global gBgColor > > put 0, 0, 0 into gBgColor > > > > > > In a button script in a substack: > > > > on mouseUp > > global gBgColor > > > > answer color with gBgColor --white is selected > > put it into gBgColor > > > > put gBgColor & cr after msg > > --255, 255, 255 > > end mouseUp > > > > In the Variables panel below script editor (after it is refreshed), > > gBgColor > > is shown to be 0, 0, 0. > > > > In the Message box: > > > > put gBgColor > > --0, 0, 0 > > > > > > In other words, the change to a global variable that is made in a > substack > > is not available to the global variable of the same name in a script > in the > > main stack. > > > > Just last week I carefully followed the discussion of the use of > global > > variables (and even participated a little by quoting the User Guide > on the > > availability of globals to all substacks), but now I see the same > problem > > that was reported by the original poster. > > > > Is it just me now? Or is it the late hour? > > > > Slava > > > > > > > > _______________________________________________ > > 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 > > > > > > -- > Regards > > > Ian McKnight > > iangmckni...@gmail.com > ======================= > _______________________________________________ > 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