Working with Start External Program Process
Process Purpose
The "Start External Program" process is used to call a specific external program with arguments (if needed). This process handles external programs, so you must consider the operating system of the current project's target device when using it. Depending on the target device's OS, some of the "Start External Program" settings will be filled in differently (ex: the required identifying elements of the external program being called are different for a Windows and an Android environment).
When you add a process, you are required to define its settings. This occurs in the process's properties window which is displayed automatically after having added the "Start External Program" process.
If any subsequent edition is required, double-click the process to open its properties window and enter the necessary modifications.
Proceed as follows:
Program |
|
Name |
Identify and locate the external program you want to call: •If the target device for the current application is a Windows Mobile device, you must specify name, path and extension (ex: \windows\mobilecalculator.exe). •If the target device for the current application is an Android device, enter the complete package name (ex: com.android.calculator2). You can enter the information OR click and select a variable with that value.
As an option, you can use a relative path to locate the external program. See Working with Aliases.
|
Arguments |
Define the arguments to be provided to the external program OR click and select a variable with that value. |
Run in Background |
This option is NOT applicable to Android devices.
Check this option to allow the called external program to run in the background. If left unchecked, the external program will run on top of the MCL application. |
Wait for Completion |
This option is NOT applicable to Android devices.
Check this option to force the MCL program's execution to wait for the external program to finish its tasks. If not checked, the MCL program continues its execution.
When checking/unchecking this option, consider the external program you want to call. For instance, some Windows applications are not terminated when closed with the "X" option, they continue running in the background. If this is the type of program you want to call, you should not check the option to wait for the called program's completion. Calling applications that are already running in the background (with the option of "wait for completion" unchecked), will bring them to foreground. |
Store Result into Variables |
|
Return Code |
Click to select the variable that will receive the return code value. See To Select/Create a Variable. |
If Error |
|
Go to |
Select a target location from the drop-down or the list, if an error occurs in the execution of the "Start External Program" process. See Detail of a window below.
When defining a screen as a target destination (ex: via a “Go to” process), you CANNOT use variables to specify the name of that target screen. You must select the intended screen from the available drop-down/list. |
Detail of a window:
"S:Menu" is a screen included in the same program as the process.
"R:Routine_1" is a routine included in the same program as the process.
If required, click to attach any relevant notes to this process. Click it and enter your notes in the resulting text box. These notes will be displayed in the corresponding "Actions" tab or "Process" window (in the "Notes" field) and in the "Developer Report".
After filling in the required options, click to conclude or to abort the operation.
The added process is displayed in the corresponding "Actions" tab or "Process" window.
"Start External Program" Examples
This example calls the Windows Mobile "Calculator" application.
|
This example calls the Android "Calculator" application.
|
If you want to use a label as a target destination, you can use the "Auto-Label" mechanism. This alternative to the "Set Label" process allows you to create a label in the properties window of a process - specifically, in the fields used to define target destinations (ex: the "If Error..." type fields). See To Automatically Create a Label.
Use the right-click in MCL-Designer's input boxes to access some related options as well as the general "Cut", "Copy"; "Paste"; "Search" actions (active/inactive according to the current context).
Ex: If you right-click the "Variable" input box (included in a "Conversion's" properties window), you are provided with general editing/search actions and other more specific options such as "Variable Select" (see "Variable Select"); "Variable Insert" (see "Variable Insert"); "Insert Special Character" (see To Insert Special Characters into a Control's Text Input Field) and "Localization Select" (see Localization List).
If you right-click another input box, it may provide other possibilities.