Legacy Documentclose button

Important: The information in this document is obsolete and should not be used for new development.

Previous Book Contents Book Index Next

Inside Macintosh: Interapplication Communication /
Chapter 10 - Scripting Components / Scripting Components Reference
Required Scripting Component Routines / Executing and Disposing of Scripts


OSAExecute

You can use the OSAExecute 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 or OpenComponent (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
The OSAExecute function executes the compiled script identified by the compiledScriptID parameter, using the script context identified by the contextID 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 constant kOSANullScript.

You can use the OSACoerceToDesc function to coerce the resulting script value to a descriptor record of a desired descriptor type, or the OSADisplay 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:
FlagDescription
kOSAModeNeverInteractAdds kAENeverInteract to sendMode parameter of AESend for events sent when script is executed.
kOSAModeCanInteractAdds kAECanInteract to sendMode parameter of AESend for events sent when script is executed.
kOSAModeAlwaysInteractAdds kAEAlwaysInteract to sendMode parameter of AESend for events sent when script is executed.
kOSAModeCantSwitchLayerPrevents use of kAECanSwitchLayer in sendMode parameter of AESend for events sent when script is executed (the opposite of the Apple Event Manager's interpretation of the same bit).
kOSAModeDontReconnectAdds kAEDontReconnect to sendMode parameter of AESend for events sent when script is executed.
kOSAModeDoRecordPrevents use of kAEDontRecord in sendMode parameter of AESend 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 is errOSAScriptError, an error occurred during script execution. In this case, you can obtain more detailed error information by calling OSAScriptError.

RESULT CODES
noErr0No error
errOSASystemError-1750General scripting system error
errOSAInvalidID-1751Invalid script ID
errOSAScriptError-1753Error occurred during execution
badComponentInstance$80008001Invalid component instance
SEE ALSO
For information about the OSAGetSource and OSACoerceToDesc 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.


Previous Book Contents Book Index Next

© Apple Computer, Inc.
7 JUL 1996