Saltar para o conteúdo principal
Versão: Próximo

PROCESS PROPERTIES

PROCESS PROPERTIES ( processo ; procNome ; procEstado ; procTempo {; procVisivel {; unicoID {; origem}}} )

ParâmetroTipoDescrição
processoInteiro longo🡒Número do processo
procNomeString🡘Nome do processo
procEstadoInteiro longo🡘Estado do processo
procTempoInteiro longo🡘Tempo acumulado de execução do processo em ticks
procVisivelBooleano, Inteiro longo🡘Visível (TRUE) ou Oculto (FALSE)
unicoIDInteiro longo🡘Número único do processo
origemInteiro longo🡘Origem do processo

Descrição

O comando PROCESS PROPERTIES devolve a informação sobre o processo cujo número de processo se passa em processo.

Nota: Se o processo não existir, o que significa que não passou em processo um número na range 1 a Count tasks, PROCESS PROPERTIES deixa os parâmetros variáveis sem modificar.

Depois da chamada:

  • procNome devolve o nome do processo. Alguns pontos a ter em conta acerca do nome do processo:

    • Se o processo foi iniciado desde a caixa de diálogo Executar um método (com a opção Novo processo selecionada), seu nome é “P_” seguido por um número.
    • Se o processo foi iniciado a partir de um comando de menu personalizado cuja propriedade Iniciar um novo processo é selecionada, o nome do processo é “M_” ou “ML_” seguido por um número.
    • Se o processo foi iniciado pelo servidor web, seu nomes é "Web Process#" seguido por um UUID.
    • Se o processo foi suspendido (e seu “espaço” não foi reutilizado), ainda é devolvido o nome do processo. Para detectar se um processo está suspendido, prove procEstado=-1 (ver a continuação).
  • procEstado devolve o estado do processo no momento da chamada. Este parâmetro pode devolver um dos valores oferecidos pelas seguintes constantes predefinidas:
    | Constante | Tipo | Valor |
    | ------------------------- | ------------- | ----- |
    | Does not exist | Inteiro longo | -100 |
    | Aborted | Inteiro longo | -1 |
    | Executing | Inteiro longo | 0 |
    | Delayed | Inteiro longo | 1 |
    | Waiting for user event | Inteiro longo | 2 |
    | Waiting for input output | Inteiro longo | 3 |
    | Waiting for internal flag | Inteiro longo | 4 |
    | Paused | Inteiro longo | 5 |

  • procTempo devolve o tempo acumulado que o processo há utilizado desde que começou, em ticks (1/60 de segundo) .

  • O parâmetro opcional procModo pode ser uma variável de tipo booleano ou inteiro longo:

    • Se for de tipo Booleano, devolve True se o processo for visível e False se estiver oculto.
    • Se for de tipo inteiro longo, depois da execução do método, contém um campo de bits onde os dois primeiros bits são definidos:
      * bit 0 devolve a propriedade de visibilidade: 1 se o processo for visível e 0 se estiver oculto
      * bit 1 devolve a propriedade de modo apropriativo: 1 se o processo for executado em modo preemptivo e 0 se for executado em modo cooperativo.
  • unicoID, se especificado, devolve o número único do processo. Na verdade, cada processo tem um número de processo assim como um número único de processo por seção. Este último permite diferenciar entre dois processos ou sessões de processo. Corresponde ao número de processos que tem sido iniciados durante a sessão da aplicação 4D.

  • origin, se especificado, retorna um valor que descreve a origem do processo. 4D oferece as constantes pré-definidas abaixo (no tema "Tipo de processo"):
ConstanteTipoValorComentário
Apple event managerInteiro longo-7
Backup processInteiro longo-19
Cache managerInteiro longo-4
Client manager processInteiro longo-31
Compiler processInteiro longo-29
Created from execution dialogInteiro longo3
Created from menu commandInteiro longo2
Design processInteiro longo-2
Event managerInteiro longo-8
Execute on client processInteiro longo-14
Execute on server processInteiro longo1
External taskInteiro longo-9
HTTP Log flusherInteiro longo-58
Indexing processInteiro longo-5
Internal 4D server processInteiro longo-18
Internal timer processInteiro longo-25
Log file processInteiro longo-20
Main 4D processInteiro longo-39
Main processInteiro longo-1
Method editor macro processInteiro longo-17
Monitor processInteiro longo-26
MSC processInteiro longo-22
NoneInteiro longo0
On exit processInteiro longo-16
Other 4D processInteiro longo-10
Other user processInteiro longo4
Restore ProcessInteiro longo-21
Serial Port ManagerInteiro longo-6
Server interface processInteiro longo-15
SOAP processInteiro longo-33
SQL Method execution processInteiro longo-24
Web process on 4D remoteInteiro longo-12
Web process with no contextInteiro longo-3
Web server processInteiro longo-13
Web server spare processInteiro longo-32
Worker processInteiro longo5Processos Worker lançados pelo usuário

Nota: processos internos de 4D retorna um valor negativo e os processos gerados pelo usuário retornam um valor positivo

Exemplo 1

O seguinte exemplo devolve o nome, o estado, o tempo tomado nas variáveis vNome, vEstado, e vTempoTransc para o processo atual:

 var vNom : Text // Inicializar as variáveis
 var vEstado : Integer
 var vTempoTransc : Integer
 PROCESS PROPERTIES(Current process;vNome;vEstado;vTempoTransc)

Exemplo 2

Ver o exemplo da seção Semaphore.

Exemplo 3

Se quiser conhecer a visibilidade e o modo de execução do processo atual. Pode escrever:

 var vName : Text
 var vState : Integer
 var vTime : Integer
 var vFlags : Integer
 var isVisible : Boolean
 var isPreemptive : Boolean
 PROCESS PROPERTIES(Current process;vName;vState;vTime;vFlags)
 isVisible:=vFlags?? 0 //true se visível
 isPreemptive:=vFlags?? 1 //true se preemptivo

Ver também

Count tasks
Get process activity
Process state
Processos 4D Preemptivos