Important: The information in this document is obsolete and should not be used for new development.
OSAExecute
You can use theOSAExecute
function to execute a compiled script or a script context.
FUNCTION OSAExecute(scriptingComponent: ComponentInstance; compiledScriptID: OSAID; contextID: OSAID; modeFlags: LongInt; VAR resultingScriptValueID: OSAID): OSAError;
scriptingComponent
- A component instance created by a prior call to the Component Manager function
OpenDefaultComponent
orOpenComponent
(see page 10-4).compiledScriptID
- The script ID for the compiled script to be executed.
contextID
- The script ID for the context to be used during script execution. The constant
kOSANullScript
in this parameter indicates that the scripting component should use its default context.modeFlags
- Information used by individual scripting components. To avoid setting mode flag values, specify
kOSAModeNull
. Other possible mode flags are listed in the description that follows.resultingScriptValueID
- The script ID for the script value returned.
DESCRIPTION
TheOSAExecute
function executes the compiled script identified by thecompiledScriptID
parameter, using the script context identified by thecontextID
parameter to maintain state information, such as the binding of variables, for the compiled script. After successfully executing a script,OSAExecute
returns the script ID for a resulting script value, or, if execution does not result in a value, the constantkOSANullScript
.You can use the
OSACoerceToDesc
function to coerce the resulting script value to a descriptor record of a desired descriptor type, or theOSADisplay
function to obtain the equivalent source data for the script value.You can control the way in which the scripting component executes a script by adding any of these flags to the
modeFlags
parameter:
Flag Description kOSAModeNeverInteract Adds kAENeverInteract
tosendMode
parameter ofAESend
for events sent when script is executed.kOSAModeCanInteract Adds kAECanInteract
tosendMode
parameter ofAESend
for events sent when script is executed.kOSAModeAlwaysInteract Adds kAEAlwaysInteract
tosendMode
parameter ofAESend
for events sent when script is executed.kOSAModeCantSwitchLayer Prevents use of kAECanSwitchLayer
insendMode
parameter ofAESend
for events sent when script is executed (the opposite of the Apple Event Manager's interpretation of the same bit).kOSAModeDontReconnect Adds kAEDontReconnect
tosendMode
parameter ofAESend
for events sent when script is executed.kOSAModeDoRecord Prevents use of kAEDontRecord
insendMode
parameter ofAESend
for events sent when script is executed (the opposite of the Apple Event Manager's interpretation of the same bit).If the result code returned by
OSAExecute
is a general result code, there was some problem in arranging for the script to be run. If the result code iserrOSAScriptError
, an error occurred during script execution. In this case, you can obtain more detailed error information by callingOSAScriptError
.RESULT CODES
SEE ALSO
For information about theOSAGetSource
andOSACoerceToDesc
functions, see page 10-51 and page 10-54, respectively.For examples of the use of the
OSAExecute
function, see Listing 10-2 on page 10-9 and Listing 10-4 on page 10-16.For more information about resume dispatch functions, see "Supplying a Resume Dispatch Function," which begins on page 10-21, and the description of a resume dispatch function on page 10-95.