4D v16.3

Commandes du thème Accès objets développement

Accueil

 
4D v16.3
Commandes du thème Accès objets développement

Commandes du thème Accès objets développement  


 

 

4D vous permet d'accéder par programmation au contenu des méthodes de vos applications. Ce source toolkit facilite l’intégration de vos applications aux outils de contrôle du code, notamment les applications de gestion de versions (VCS). Il permet également de mettre en place des systèmes avancés de documentation du code, de construire un explorateur personnalisé ou encore d’organiser la sauvegarde régulière du code sous forme de fichiers sur disque.

Les principes suivants sont mis en oeuvre :

  • Chaque méthode et formulaire d’une application 4D dispose d’une adresse sous forme de chemin d’accès. Par exemple, la méthode trigger de la table 1 est accessible à l’adresse "[trigger]/table_1". Chaque chemin d’accès d’objet est unique dans une application.
    Note : Pour assurer l’unicité des chemins d’accès, 4D ne permet plus de créer des objets de même nom dans des pages formulaires différentes. Dans les bases de données converties depuis des versions antérieures à 4D v13, le CSM vous permet de détecter ces doublons.
  • La majorité des commandes de ce thème fonctionnent en mode interprété et en mode compilé. Les commandes modifiant les propriétés ou accédant au contenu exécutable des méthodes peuvent être utilisées en mode interprété uniquement (cf. tableau ci-dessous).
  • Toutes les commandes de ce thème sont utilisables avec 4D en mode local ou distant.
    En revanche, gardez à l’esprit que certaines commandes ne sont pas utilisables en mode compilé : la finalité du thème est la création d’outils personnalisés d’aide de développement. Les commandes ne doivent pas être utilisées pour modifier dynamiquement le fonctionnement d’une base en exécution. Par exemple, vous ne pouvez pas utiliser METHOD SET ATTRIBUTE pour modifier un attribut de méthode en fonction du statut de l’utilisateur courant.
  • Lorsqu’une commande de ce thème est appelée depuis un composant, elle accède par défaut aux objets du composant. Pour accéder aux objets de la base hôte dans ce cas, il suffit de passer un * en dernier paramètre. A noter que cette syntaxe est la seule possible dans ce contexte pour les commandes permettant de modifier les objets (telles que METHOD SET ATTRIBUTE), car les composants sont toujours exécutés en lecture seulement.

Pour des raisons liées au principe même du processus de compilation, seules certaines commandes de ce thème sont utilisables en mode compilé. Le tableau suivant indique la disponibilité des commandes en mode compilé :

CommandeUtilisable en mode compilé
Current method pathOui
FORM GET NAMESOui
METHOD SET ATTRIBUTENon (*)
METHOD SET ATTRIBUTESNon (*)
METHOD SET CODENon (*)
METHOD SET COMMENTSNon (*)
METHOD SET ACCESS MODEOui
METHOD Get attributeOui
METHOD GET ATTRIBUTESOui
METHOD Get pathOui
METHOD GET PATHSOui
METHOD GET PATHS FORMOui
METHOD GET CODENon (*)
METHOD GET COMMENTSOui
METHOD GET MODIFICATION DATEOui
METHOD GET FOLDERSOui
METHOD GET NAMESOui
METHOD OPEN PATHNon (*)
METHOD RESOLVE PATHOui

(*) L'erreur -9762, "La commande ne peut pas être exécutée dans une base compilée." est générée lorsque la commande est exécutée en mode compilé.

Par défaut, aucun fichier n’est créé sur disque par 4D. Cependant, les chemins d’accès générés pour les objets sont compatibles avec la gestion de fichiers du système d’exploitation, ils peuvent être utilisés directement pour générer des fichiers sur disque via vos propres méthodes d’import/export. 

En particulier, les caractères interdits tels que ":" sont encodés dans les noms des méthodes. Les fichiers générés pourront être automatiquement intégrés à une application de gestion de versions. Les caractères encodés sont les suivants :

CaractèreEncodage
"%22
*%2A
/%2F
:%3A
<%3C
>%3E
?%3F
|%7C
\%5C
%%25

Exemples :
Form?1 sera encodé Form%3F1
Button/1 sera encodé Button%2F1

 
PROPRIÉTÉS 

Produit : 4D
Thème : Accès objets développement

 
HISTORIQUE 

 
UTILISATION DE L'ARTICLE

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