Using Director > Writing Scripts with Lingo > About variables > Using global variables

 

Using global variables

Global variables can be shared among handlers and movies. A global variable exists and retains its value as long as Director is running or until you issue the clearGlobals command.

In Shockwave, global variables persist among movies displayed by the Lingo goToNetMovie command, but not among those displayed by the goToNetPage command.

Every handler that declares a variable as global can use the variable's current value. If the handler changes the variable's value, the new value is available to every other handler that treats the variable as global.

It's good practice to start the names of all global variables with a lowercase g. This helps identify which variables are global when you examine Lingo code.

Because you usually want global variables to be available throughout a movie, it is good practice to declare global variables in an on prepareMovie handler. This ensures that the global variables are available from the very start of the movie.

To declare that a variable is global, do one of the following:

Use the term global before the variable name at the top of the Script window, before any individual handlers. This makes the variable global for every handler in the script.

Declare the variable as global by using the term global before the variable name on a separate line in every handler that uses the global variable.

When you use the term global to define global variables, the variables automatically have VOID as their initial value.

The following statements make gName a global variable and give it the value Mary:

global gName
gName = "Mary"

To display all current global variables and their current values:

Use the showGlobals command in the Message window.

To clear all current global variables:

Use the clearGlobals command in the Message window to set the value of all global variables to VOID.

See clearGlobals and showGlobals.