4D v16.3

Process number

Inicio

 
4D v16.3
Process number

Process number 


 

Process number ( nombre {; *} ) -> Resultado 
Parámetro Tipo   Descripción
nombre  Cadena in Nombre del proceso del cual recuperar el número
in Devolver el número del proceso servidor
Resultado  Entero largo in Número de proceso

Process number devuelve el número del proceso cuyo nombre se pasa en nom. Si no se encuentra ningún proceso, Process number devuelve 0.

El parámetro opcional * le permite recuperar, a partir de 4D Client, el número de un proceso que se está ejecutando en el servidor (un procedimiento almacenado). En este caso, el valor devuelto es negativo. Esta opción es particularmente útil cuando se utilizan los comandos GET PROCESS VARIABLE y SET PROCESS VARIABLE. Para mayor información, consulte las descripciones de estos comandos.

Si el comando se ejecuta con el parámetro * desde un proceso en el equipo servidor, el valor devuelto es positivo.

Ejemplo  

Usted crea una paleta flotante, que corre en un proceso separado, en el cual usted implementa sus propias herramientas para interactuar con el entorno Diseño. Por ejemplo, cuando selecciona un elemento en una lista jerárquica de palabras claves, usted quiere pegar algún texto en la ventana del primer plano del entorno Diseño. Para hacerlo, puede utilizar el Portapapeles, pero el evento de pegado debe ocurrir dentro del proceso Diseño. La siguiente función devuelve el número del proceso del proceso Diseño (si está activo):

  ` Método de proyecto Numero proceso Diseño
  ` Numero proceso Diseño -> Entero largo
  ` Numero proceso Diseño -> Número del proceso de Diseño
 
 $0:=Process number("Proceso Diseño")
  ` Nota: Esto puede no funcionar en el futuro si la fuente cambia

Con esta función, el método de proyecto listado pega el texto recibido como parámetro en la ventana del primer plano en el entorno Diseño (si aplica):

  ` Método de proyecto PEGAR TEXTO EN DISEÑO
  ` PEGAR TEXTO EN DISEÑO ( Text )
  `PEGAR TEXTO EN DISEÑO (Texto a pegar en la ventana de Diseño del primer plano)
 
 C_TEXT($1)
 C_LONGINT($vlDiseñoPID;$vlCont)
 
 $vlDiseñoPID:=Numero proceso Diseño
 If($vlDiseñoPID #0)
  ` Coloque el texto en el portapapeles
    SET TEXT TO PASTEBOARD($1)
  ` Generar un evento Ctrl-V / Comando-V
    POST KEY(ASCII("v");Command key mask;$vlDiseñoPID)
  ` Llamar repetitivamente DELAY PROCESS para que el minutero puede pasar
  ` sobre el evento al proceso Diseño
    For($vlCont;1;5)
       DELAY PROCESS(Current process;1)
    End for
 End if



Ver también 

GET PROCESS VARIABLE
PROCESS PROPERTIES
Process state
SET PROCESS VARIABLE

 
PROPIEDADES 

Producto: 4D
Tema: Procesos
Número 372

This command can be run in preemptive processes

 
HISTORIA 

Creado por: 4D v6

 
ARTICLE USAGE

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