4D v16.3

Process number

Página Inicial

 
4D v16.3
Process number

Process number 


 

Process number ( nome {; *} ) -> Resultado 
Parâmetro Tipo   Descrição
nome  String in Nome do processo do qual recuperar o número
in Devolver o número do processo servidor
Resultado  Inteiro longo in Número de processo

Process number devolve o número do processo cujo nome é passado em nome. Se não se encontra nenhum processo, Process number devolve 0.

O parâmetro opcional * lhe permite recuperar, a partir de 4D Client, o número de um processo que se está executando no servidor (um procedimento armazenado). Neste caso, o valor devolvido é negativo. Esta opção é particularmente útil quando se utilizam os comandos GET PROCESS VARIABLE e SET PROCESS VARIABLE. Para maior informação, consulte as descrições destes comandos.

Se o comando se executa com o parâmetro * desde um processo na máquina servidor, o valor devolvido é positivo.

Exemplo  

Você pode criar uma paleta flutuante, que é executado em um processo separado, em que você implementou suas próprias ferramentas para interagir com o ambiente Desenho. Por exemplo, quando você seleciona um elemento em uma lista hierárquica de palavras-chave, você deseja colar algum texto na janela no primeiro plano do ambiente Desenho. Para fazer isso, você pode usar a área de transferência, mas o evento de colar deve ocorrer dentro do processo Desenho. A função a seguir retorna o número do processo Desenho (se ativo):

  ` Método de projeto Número processo Desenho
  ` Número processo Desenho -> Inteiro longo
  ` Número processo Desenho -> Número do processo de Desenho
 
 $0:=Process number("Processo Desenho")
  ` Nota: Este pode não funcionar no futuro se a fonte muda

Com esta função, o método de projeto listado cola o texto recebido como parâmetro na janela do primeiro plano no ambiente Desenho (se aplicado):

  ` Método de projeto COLAR TEXTO EM DESENHO
  ` PEGAR TEXTO EM DESENHO ( Text )
  `PEGAR TEXTO EM DESENHO (Texto a pegar na janela de Desenho do primeiro plano)
 
 C_TEXT($1)
 C_LONGINT($vlDesenhoPID;$vlCont)
 
 $vlDiseñoPID:=Numero processo Desenho
 If($vlDesenhoPID # 0)
  ` Coloque o texto na área de transferência
    SET TEXT TO PASTEBOARD($1)
  ` Gerar um evento Ctrl-V / Comando-V
    POST KEY(ASCII("v");Command key mask;$vlDesenhoPID)
  ` Chamar repetidamente DELAY PROCESS para que o temporizador possa passar
  ` sobre o evento ao processo Desenho
    For($vlCont;1;5)
       DELAY PROCESS(Current process;1)
    End for
 End if



Ver também 

GET PROCESS VARIABLE
PROCESS PROPERTIES
Process state
SET PROCESS VARIABLE

 
PROPRIEDADES 

Produto: 4D
Tema: Processos
Número 372

This command can be run in preemptive processes

 
HISTÓRIA 

Criado por: 4D v6

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v16)
Manual de linguagem 4D ( 4D v16.1)
Manual de linguagem 4D ( 4D v16.2)
Manual de linguagem 4D ( 4D v16.3)