Slay
Description: | Stops a launched module, and possibly any parent modules. |
Returns: | Nothing |
Usage: | Script Only. |
Function Groups: | Basic Module |
Related to: | Stop | WindowClose |
Format: | Slay([Object, KillParents]) |
Parameters: |
Object |
An optional parameter which is any object expression for the launched module. The default value of Object is Self(). |
KillParents |
An optional logical expression for the action to take. If true, Slay will attempt to stop parents as well. If any parent libraries are not launched, the Slay statement won't search for further modules instances. The default value for KillParents is 0. |
Comments: | When this statement is encountered in a script, the module is immediately stopped. Slay and Return are the only statements that will cause a script to terminate mid-way through its execution. Others like ForceState will not. Slay() is the same as Slay(Self(), 0). |
Example:
If ZButton(20, 50, 120, 70, "Motor On/Off", 1); [ IfElse(!motorOn, Execute( motorOn = 1, motorPtr = RunMotor() { Module launched implicitly }), { else } Execute( motorOn = 0, Slay(motorPtr, 0))); ]
When the button is selected, the statement in the script will check if the motor is running or not, and if it isn't, will launch the module that starts it. Notice that the module is launched implicitly because it is called from inside of a script. If that module is already running it will stopped by the Slay .