Important: The information in this document is obsolete and should not be used for new development.
OSADoScript
You can use theOSADoScript
routine to compile and execute a script and convert the resulting script value to text in a single step rather than callingOSACompile
,OSAExecute
, andOSADisplay
.
FUNCTION OSADoScript (scriptingComponent: ComponentInstance; sourceData: AEDesc; contextID: OSAID; desiredType: DescType; modeFlags: LongInt; VAR resultingText: AEDesc): OSAError;
scriptingComponent
A component instance created by a prior call to the Component Manager functionOpenDefaultComponent
orOpenComponent
(see page 10-4).- sourceData
- A descriptor record identifying suitable source data for the specified scripting component.
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.desiredType
- The desired text descriptor type, such as
typeChar
, for the resulting descriptor record.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.resultingText
- The resulting descriptor record.
DESCRIPTION
Calling theOSADoScript
function is equivalent to callingOSACompile
followed byOSAExecute
andOSADisplay
. After compiling the source data, executing the compiled script using the script context identified by thecontextID
parameter, and returning the text equivalent of the resulting script value in theresultingText
parameter,OSADoScript
disposes of both the compiled script and the resulting script value.You can control the way in which the scripting component executes the 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).kOSAModeDisplayForHumans Resulting text is readable by humans only and cannot be recompiled by OSACompile
.If the result code returned by
OSADoScript
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, and theresultingText
parameter contains the error message associated with the error. In this case, you can obtain more detailed error information by callingOSAScriptError
.RESULT CODES
SEE ALSO
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.