METHOD RESOLVE PATH
METHOD RESOLVE PATH ( chemin ; typeMéthode ; ptrTable ; nomObjet ; nomObjetForm {; *} )
Paramètre | Type | Description | |
---|---|---|---|
chemin | Text | → | Chemin à résoudre |
typeMéthode | Integer | ← | Sélecteur de type d’objet |
ptrTable | Pointer | ← | Référence de table |
nomObjet | Text | ← | Nom de formulaire ou de méthode base |
nomObjetForm | Text | ← | Nom d’objet du formulaire |
* | Opérateur | → | Si 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 :
Constante | Type | Valeur | Comment |
---|---|---|---|
Path database method | Entier long | 2 | Chemin 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 form | Entier long | 4 | Chemin 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 method | Entier long | 1 | Nom de la méthode. Exemple : MaMethodeProjet |
Path table form | Entier long | 16 | Chemin 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 trigger | Entier long | 8 | Chemin 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"