4D v14.3Process number |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
Process number
|
Process number ( nome {; *} ) -> Resultado | ||||||||
nome | cadeia |
![]() |
Nome do processo do qual recuperar o número | |||||
* |
![]() |
Devolver o número do processo servidor | ||||||
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.
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
Produto: 4D
Tema: Processos
Número
372
Criado por: 4D v6
GET PROCESS VARIABLE
PROCESS PROPERTIES
Process state
SET PROCESS VARIABLE
Manual de linguagem 4D ( 4D v12.4)
Manual de linguagem 4D ( 4D v11 SQL Release 6)
Manual de linguagem 4D ( 4D v14 R3)
Manual de linguagem 4D ( 4D v14 R2)
Manual de linguagem 4D ( 4D v13.5)
Manual de linguagem 4D ( 4D v14.3)
Manual de linguagem 4D ( 4D v14 R4)