Skip to main content
Version: 20 R7 BETA

Process state

Process state ( process ) : Integer

ParameterTypeDescription
processIntegerProcess number
Function resultIntegerState of the process

This command is not thread-safe, it cannot be used in preemptive code.

Description

The Process state command returns the state of the process whose number you pass in process.

The function result can be one of the values provided by the following predefined constants:

ConstantTypeValueComment
Does not existInteger-100
AbortedInteger-1
ExecutingInteger0
DelayedInteger1
Waiting for user eventInteger2
Waiting for input outputInteger3
Waiting for internal flagInteger4
PausedInteger5
_o_Hidden modal dialogInteger6Compatibility: This process state no longer exists starting with 4D v16. An equivalent status is returned by the Process info command when procState=Waiting for user event and procMode=False.

If the process does not exist (which means you did not pass a number in the range 1 to Count tasks), Process state returns Does not exist (-100).

Example

The following example puts the name and process reference number for each process into the asProcName and aiProcNum arrays. The method checks to see if the process has been aborted. In this case, the process name and number are not added to the arrays:

 $vlNbTasks:=Count tasks
 ARRAY TEXT(asProcName;$vlNbTasks)
 ARRAY INTEGER(aiProcNum;$vlNbTasks)
 $vlActualCount:=0
 For($vlProcess;1;$vlNbTasks)
    If(Process state($vlProcess)>=Executing)
       $vlActualCount:=$vlActualCount+1
       PROCESS PROPERTIES($vlProcess;asProcName{$vlActualCount};$vlState;$vlTime)
       aiProcNum{$vlActualCount}:=$vlProcess
    End if
 End for
  // Eliminate unused extra elements
 ARRAY TEXT(asProcName;$vlNbTasks)
 ARRAY INTEGER(aiProcNum;$vlActualCount)

See also

Count tasks
Process info