Saltar para o conteúdo principal
Versão: 20 R7 BETA

Process state

Process state ( processo ) -> Resultado

ParâmetroTipoDescrição
processoIntegerNúmero de processo
ResultadoIntegerEstado do processo

Esse comando não é seguro para thread e não pode ser usado em código adequado.

Descrição

O comando Process state devolve o estado do processo cujo número foi passado em processo.

O resultado da função pode ser um dos valores das seguintes constantes predefinidas:

ConstanteTipoValorComentário
Does not existInteiro longo-100
AbortedInteiro longo-1
ExecutingInteiro longo0
DelayedInteiro longo1
Waiting for user eventInteiro longo2
Waiting for input outputInteiro longo3
Waiting for internal flagInteiro longo4
PausedInteiro longo5
_o_Hidden modal dialogInteiro longo6Compatibilidade: este estado de processo já não existe a partir de 4D v16. O comando Process info
devolve um estado equivalente quando procState=Waiting for user event e procMode=False.

Se o processo não existe (o qual significa que não passou um número no intervalo de 1 a Count tasks), Process state devolve Does not exist (-100).

Exemplo

O seguinte exemplo coloca o nome e número de referencia para cada processo nos arrays asProcNome e aiProcNume. O método prova se o processo tem sido abortado. Neste caso, o nome e o número do processo não são adicionados aos arrays:

 $vlNbTareas:=Count tasks
 ARRAY TEXT(asProcNome;$vlNbTarfeas)
 ARRAY INTEGER(aiProcNume;$vlNbTarefas)
 $vlAtualCont:=0
 For($vlProcess;1;$vlNbTarefas)
    If(Process state($vlProcess)>=Executing)
       $vlAtualCont:=$vlAtualCont+1
       PROCESS PROPERTIES($vlProcess;asProcNome{$vlAtualCont};$vlEstado;$vlHora)
       aiProcNume{$vlAtualCont}:=$vlProcess
    End if
 End for
  // Eliminar os elementos extras supérfluo
 ARRAY TEXT(asProcNome;$vlAtualCont)
 ARRAY INTEGER(aiProcNume;$vlAtualCont)

Ver também

Count tasks
Process info