global variables

Sarah Reichelt sarahr at genesearch.com.au
Wed Feb 4 20:08:57 EST 2004


My attempt at an explanation has obviously failed :-) so I suggest you 
search the Transcript dictionary for "global". From the "See also" 
menu, read the article titled "About containers, variables and sources 
of value".

Basically: if you declare your variable in the stack script, outside 
any handler, then all the handlers in the stack script can use it. If 
you need to use it in another object's script, you need to declare it 
again in that script, either inside or outside the handlers.

Just one more thing: "global mygabc = 3" will not work. You have to 
initialize your global inside a handler using the form "put 3 into 
mygabc".

Cheers,
Sarah

On 5 Feb 2004, at 10:53 am, hershrev wrote:

>
> On Wednesday, February 4, 2004, at 07:27 PM, Sarah Reichelt wrote:
>
>> A global works everywhere, but it has to be declared in each place 
>> where you need to use it. i.e. you must include the line "global 
>> gMyGlobalVar" in every script that needs access to the global 
>> gMyGlobalVar. If you declare it in a handler, only that handler sees 
>> it, but if you declare it outside the handler, all the handlers in 
>> that script can see it without needing a separate declaration in each 
>> handler. Even though globals are accessible everywhere, you must tell 
>> each script or handler that they are globals before you use them, 
>> otherwise they will just assume you are creating a local variable of 
>> the same name.
> That means if I declare a "global mygabc =3' out side of a scrip in a 
> stack ,when I need it in a button I have to declare it again
> "global mygabc" in the button script.
> and if I declare it in a handler in a stack ????? Where is the 
> difference ??
> Thanks



More information about the use-livecode mailing list