Skip to main content
Version: 20 R7 BETA

Process state

Process state ( process ) -> Function result

ParameterTypeDescription
processIntegerProcess number
Function resultLongintState 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 existLongint-100
AbortedLongint-1
ExecutingLongint0
DelayedLongint1
Waiting for user eventLongint2
Waiting for input outputLongint3
Waiting for internal flagLongint4
PausedLongint5
_o_Hidden modal dialogLongint6Compatibility: 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