Aller au contenu principal
Version: 20 R7 BETA

METHOD RESOLVE PATH

METHOD RESOLVE PATH ( chemin ; typeMéthode ; ptrTable ; nomObjet ; nomObjetForm {; *} )

ParamètreTypeDescription
cheminTextChemin à résoudre
typeMéthodeIntegerSélecteur de type d’objet
ptrTablePointerRéférence de table
nomObjetTextNom de formulaire ou de méthode base
nomObjetFormTextNom d’objet du formulaire
*OpérateurSi passé = la commande s’applique à la base hôte lorsqu’elle est exécutée depuis un composant (paramètre ignoré hors de ce contexte)

Cette commande n'est pas thread-safe, elle ne peut pas être utilisée dans du code préemptif.

Description

La commande METHOD RESOLVE PATH analyse le chemin d’accès interne passé dans le paramètre chemin et retourne ses différentes composantes dans les paramètres typeMéthode, ptrTable, nomObjet et nomObjetForm.

Le paramètre typeMéthode retourne une valeur indiquant le type de la méthode. Vous pouvez comparer cette valeur aux constantes suivantes du thème Accès objets développement :

ConstanteTypeValeurComment
Path database methodEntier long2Chemin des méthodes base définies (nom anglais). Liste de ces méthodes :
[databaseMethod]/onStartup
[databaseMethod]/onExit
[databaseMethod]/onDrop
[databaseMethod]/onBackupStartup
[databaseMethod]/onBackupShutdown
[databaseMethod]/onWebConnection
[databaseMethod]/onWebAuthentication
[databaseMethod]/onWebSessionSuspend
[databaseMethod]/onServerStartup
[databaseMethod]/onServerShutdown
[databaseMethod]/onServerOpenConnection
[databaseMethod]/onServerCloseConnection
[databaseMethod]/onSystemEvent
[databaseMethod]/onSqlAuthentication
[databaseMethod]/ onHostDatabaseEvent
[databaseMethod]/ onRESTAuthentication
[databaseMethod]/ onMobileAppAuthentication
[databaseMethod]/ onMobileAppAction
Path project formEntier long4Chemin des méthodes formulaire projet et de toutes leurs méthodes objet. Exemples :
[projectForm]/monForm/{formMethod}
[projectForm]/monForm/bouton1
[projectForm]/monForm/maliste
[projectForm]/monForm2/bouton1
Path project methodEntier long1Nom de la méthode.
Exemple : MaMethodeProjet
Path table formEntier long16Chemin des méthodes formulaire table et de toutes leurs méthodes objet. Exemples :
[tableForm]/table_1/Form1/{formMethod}
[tableForm]/table_1/Form1/bouton1
[tableForm]/table_1/Form1/maliste
[tableForm]/table_2/Form1/maliste
Path triggerEntier long8Chemin des triggers de la base. Exemples :
[trigger]/table_1
[trigger]/table_2

Note : La commande ne vérifie pas si la méthode existe vraiment dans la base de données/le projet. Une erreur n'est générée que si un nom de table non valide est passé.

Le paramètre ptrTable contient un pointeur sur une table de la base si le chemin référence une méthode formulaire table ou un trigger.

Le paramètre nomObjet contient soit :

  • un nom de formulaire si le chemin référence un formulaire table ou projet
  • un nom de méthode base si le chemin référence une méthode base.

Le paramètre nomObjetForm contient un nom d’objet de formulaire si le chemin référence une méthode objet.

Si la commande est exécutée depuis un composant, elle considère par défaut que chemin désigne une méthode du composant. Si vous passez le paramètre *, elle considère que chemin désigne une méthode de la base hôte.

Exemple 1

Résolution d’un chemin de méthode base :

 var $methodType : Integer
 var $tablePtr : Pointer
 var $objectName : Text
 var $objectFormName : Text
 
 METHOD RESOLVE PATH("[databaseMethod]/onStartup";$methodType;$tablePtr;$objectName;$objectFormName)
  // $methodType: 2
  // $tablePtr: pointeur Nil
  // $objectName: "onStartup"
  // $objectFormName: ""

Exemple 2

Résolution d’un chemin d’objet de méthode formulaire table :

 var $methodType : Integer
 var $tablePtr : Pointer
 var $objectName : Text
 var $objectFormName : Text
 
 METHOD RESOLVE PATH("[tableForm]/Table1/output1/myVar1";$methodType;$tablePtr;$objectName;$objectFormName)
  // $methodType: 16
  // $tablePtr: -> [Table1]
  // $objectName: "output1"
  // $objectFormName: "Btn1"

Voir aussi

METHOD Get path