Runs a Tcl/Tk script in a protected manner according to
the specified execution mode.
Syntax
hwISession_handle
PerformBatchOperation script, exec_mode
Application
HyperWorks Tcl Modify
Inputs
- script
- PerformBatchOperation runs the specified script in a way that
ignores user mouse clicks or keyboard input while the script is running. This provides
operational protection for the caller and is accomplished by running the script within a
‘UI lock’.
- exec_mode (optional)
- By specifying the exec_mode option, you can specify a variety of conditions, or
‘execution modes’, under which the specified script is run.
- There are two primary execution modes: execution scope and render lock state.
- Valid execution scope values are currentscope and
globalscope. They are mutually exclusive.
- currentscope
- Runs the script at the current scope. Specifically, the script runs at one level
below the current Tcl callstack level.
- globalscope
- Runs the script at the global Tcl scope and is the
default. Specifically, the script runs at Tcl
callstack level 0.
- The execution scope dimension is important if Tcl
uplevel or upvar commands are used in the implementation of the script to be run. In
these cases, currentscope must be specified.
- Valid render lock states are renderlocked and renderunlocked. They are mutually exclusive.
- renderlock
- Runs the script inside a render lock and is the default.
- renderunlock
- Runs the script only inside a UI lock.
- The render lock state is primarily used to control flicker as a render lock ALWAYS
forces a redraw of each visible page area at the end of script execution.
- The values from the two dimensions can be specified in any order and with any
delimiter (space or comma, for example). If a mode is not specified, the default value
will be assumed.
Examples
To run the
Tcl/Tk script myScript at the current
Tcl call stack scope within a Render
Lock:
[::hw::GetSessionHandle] PerformBatchOperation myScript "currentscope renderlock" –
To run myScript at the current scope and with no render
lock:
[::hw::GetSessionHandle] PerformBatchOperation myScript "current scope, renderunlock"
To run myScript at the global
Tcl scope under a Render Lock.
"
globalscope” and “
renderlock” are the default execution
modes.
[::hw::GetSessionHandle] PerformBatchOperation myScript
Error
HWInvalidArg - Specifying invalid modal combinations such as
"currentscope
globalscope" results in this error.
Keywords
Tcl
Tk
script
commands