Working with Call Background Proc Process

Navigation:  How to Work with Processes > Working with the Branch Processes Group >

Working with Call Background Proc Process

Previous pageReturn to chapter overviewNext page

 

Process Purpose

 

The "Call Background Procedure" process is used to call/start the intended background procedure in a secondary thread.

 

If you intend to use this process, consider the following:

ONLY the main thread can call a background procedure, so, it is ONLY available outside the "Background Procedures" module;

This process ONLY becomes active after you have created a background procedure;

It is possible to call/start more than one background procedure - each will have its own secondary thread and they can run simultaneously;

It is NOT possible to call a background procedure that is already running.

 

 

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 "Call Background Procedure" process. In this case, the properties window includes two tabs - "General" and "Error".

If any subsequent edition is required, double-click the process to open its properties window and enter the necessary modifications.

 

 

In addition to the available methods for adding a process (see Adding and Editing Processes), if you drag a background procedure from the "Background Procedures" module onto a control/screen's "Actions" tab, the "Routine" tab of a screen's "Routine", "Routine In"/"Routine Out" or the “Event” tab of a global event, this will add a "Call Background Proc" process. The process's properties window will open automatically with the dragged background procedure defined as the intended element to call.

 

"General" tab

 

 

View/fill in the following options:

 

Procedure

Select the background procedure to be called from the drop-down (it provides all the background procedures that exist in the project) OR  click and select the variable with that value.

Set Background Variable Value

Variable Input column

Not editable. This column displays the input background variable(s) that were established in the "Input" tab of the selected background procedure's properties window.

See Adding a Background Procedure.

Value column

Enter the required input value to be sent to the background procedure OR  click to select a variable with that input value.

 

Proceed to the "Error" tab.

 

"Error" tab

 

 

View/fill in the options available:

 

If ... Go to

Not Found

Select a target location from the drop-down or list, in case the selected background procedure cannot be found. 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.

 

Already Running

Select a target location from the drop-down or list, in case the selected background is already running. 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, use the icon on the upper right corner of the properties window 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.

 

 

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.