4D v16.3

Process number

Accueil

 
4D v16.3
Process number

Process number 


 

Process number ( nom {; *} ) -> Résultat 
Paramètre Type   Description
nom  Chaîne in Nom du process duquel récupérer le numéro
in Retourner le numéro du process serveur
Résultat  Entier long in Numéro du process

La commande Process number retourne le numéro du process dont vous passez le nom dans nomProcess. Si aucun process n'est trouvé, Process number retourne 0.

Le paramètre optionnel * vous permet, à partir de 4D Client, de récupérer le numéro d'un process s'exécutant sur le serveur, c'est-à-dire une procédure stockée. Dans ce cas, la valeur retournée est négative. Cette option est particulièrement utile dans le cadre de l'utilisation des commandes GET PROCESS VARIABLE, SET PROCESS VARIABLE et VARIABLE TO VARIABLE. Pour plus d'informations, reportez-vous à la description de ces commandes.
Si la commande est exécutée avec le paramètre * à partir d'un process tournant sur le poste serveur, la valeur retournée est positive.

Exemple  

Vous créez une palette flottante, fonctionnant dans un process séparé, dans lequel vous implémentez vos propres outils pour interagir avec l'environnement Développement. Par exemple, quand vous sélectionnez un élément dans une liste hérarchique de mots-clés, vous voulez coller du texte dans la fenêtre de premier plan du mode Développement. Pour cela, vous pouvez utiliser le presse-papiers, mais l'événement de collage doit se passer dans le process Développement. La petite fonction qui suit retourne le numéro du process de Développement (s'il est actif) :

  ` Méthode projet Numéro process Développement
  ` Numéro process Développement -> Entier long
  ` Numéro process Développement -> Numéro du process de Développement
 
 $0:=Process number("Process Développement")
  ` Note: ceci peut ne pas fonctionner si le nom du process est modifié dans l'avenir

Avec cette fonction, la méthode projet listée ci-dessous colle le texte reçu en paramètre dans la fenêtre de premier plan du mode Développement (si c'est possible) :

  ` Méthode projet COLLER TEXTE EN STRUCTURE
  ` COLLER TEXTE EN STRUCTURE ( Texte)
  ` COLLER TEXTE EN STRUCTURE ( Texte à coller dans la fenêtre de Structure de premier plan )
 
 C_TEXT($1)
 C_LONGINT($vlStructurePID;$vlCompte)
 
 $vlStructurePID:=Numero process Développement
 If($vlStructurePID #0)
  ` Mettre le texte dans le presse-papiers
    SET TEXT TO PASTEBOARD($1)
  ` Générer un événement Ctrl-V / Command-V
    POST KEY(Character code("v");Command key mask;$vlStructurePID)
  ` Appeler répétitivement ENDORMIR PROCESS pour que le minuteur puisse passer
  ` l'événement au process Développement
    For($vlCompte;1;5)
       DELAY PROCESS(Current process;1)
    End for
 End if



Voir aussi  

GET PROCESS VARIABLE
PROCESS PROPERTIES
Process state
SET PROCESS VARIABLE

 
PROPRIÉTÉS 

Produit : 4D
Thème : Process
Numéro : 372

Commande(s) éligible(s) à l'exécution dans un process préemptif

 
HISTORIQUE 

Créé : 4D v6

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)