Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com

Accueil

 
4D v19
Références de méthodes projet

Références de méthodes projet  


 

4D View Pro vous permet d'appeler des méthodes projet 4D depuis vos formules. L'utilisation de méthodes projet 4D élargit considérablement les possibilités de vos documents 4D View Pro. Les méthodes 4D peuvent recevoir des paramètres de la zone 4D View Pro et retourner des valeurs. Pour des raisons de sécurité, seules les méthodes qui ont été explicitement autorisées pourront être appelées par les utilisateurs.

Pour pouvoir être appelée dans une formule 4D View Pro, une méthode projet doit être :

  • référencée : elle doit être explicitement déclarée à l'aide de la commande VP SET CUSTOM FUNCTIONS (recommandé) ou la commande VP SET ALLOWED METHODS.
  • exécutable : elle appartient à la base ou à un composant chargé avec l'option "Partagée entre le composant et la base hôte" (voir Partage des méthodes projet).
  • non conflictuelle avec une fonction 4D View Pro existante : si vous appelez une méthode projet avec le même nom qu'une fonction native de 4D View Pro, la fonction est appelée.

Note : Si ni la commande VP SET CUSTOM FUNCTIONS ni la commande VP SET ALLOWED METHODS n'ont été exécutées durant la session, les fonctions personnalisées de 4D View Pro s'appuient sur des méthodes autorisées définies par la commande générique de 4D SET ALLOWED METHODS. Dans ce cas, les noms des méthodes projet doivent être conformes à JavaScript Identifier Grammar (voir Normes ECMAScript ). L'option de filtrage, présente dans la boite de dialogue des Paramètres (voir Gestion des accès), est ignorée dans tous les cas.

Nous souhaitons afficher "Hello World" dans une cellule de zone 4D View Pro à l'aide d'une méthode projet 4D :

  1. Créez une méthode projet "myMethod" contenant le code suivant :
     #DECLARE->$hw Text
     $hw:="Hello World"
  2. Dans la méthode formulaire du formulaire contenant la zone 4D View Pro, vous pouvez écrire :
     Case of
        :(Form event code=On Load)
           var $o : Object
           $o:=New object
      // Définir la fonction "vpHello" à partie de la méthode "myMethod"
           $o.vpHello:=New object
           $o.vpHello.formula:=Formula(myMethod)
           VP SET CUSTOM FUNCTIONS("ViewProArea";$o)
     End case
  3. Passez en édition dans une cellule d'une zone 4D View Pro et saisissez :

    "myMethod" est alors appelée par 4D et la cellule affiche :

Il est possible de passer des paramètres aux méthodes projet 4D à l'aide de la syntaxe suivante :

=NOMMETHODE(param1,param2,...,paramN)

Ces paramètres sont reçus dans nomMéthode dans $1, $2...$N.

Notez que les ( ) sont obligatoires, même s'il n'y a pas de paramètre passé :

=NOMMETHODESANSPARAM()

Vous pouvez déclarer le nom, le type et le nombre de paramètres via la collection de paramètres de la fonction que vous avez déclarée à l'aide de la commande  VP SET CUSTOM FUNCTIONS (ou la commande VP SET ALLOWED METHODS). Vous pouvez également, si vous le souhaitez, gérer le nombre de paramètres passés par l'utilisateur via les propriétés minParams et maxParams. 

Si vous ne déclarez pas les paramètres, les valeurs peuvent être passées séquentiellement en méthodes (elles seront reçues au format $1, $2...) et leur type sera converti automatiquement. Les dates en jstype seront passées en C_OBJECT dans des méthodes 4D avec deux propriétés :

PropriétéTypeDescription
valueDateValeur date
timeRéelHeure en secondes

Les méthodes projet 4D peuvent également retourner des valeurs dans les formules des cellules 4D View Pro via $0. Les types de données suivants sont pris en charge pour les paramètres retournés :

  • C_TEXT (conversion en chaîne dans 4D View Pro)
  • C_REAL/C_LONGINT (conversion en numérique dans 4D View Pro)
  • C_DATE (conversion en JS Date type dans 4D View Pro - heure, minute, sec = 0)
  • C_TIME (conversion en JS Date type dans 4D View Pro - date en date base, i.e. 12/30/1899)
  • C_BOOLEAN (conversion en booléen dans 4D View Pro)
  • C_PICTURE (jpg,png,gif,bmp,svg, autres types convertis en png) crée un URI (data:image/png;base64,xxxx) puis utilisé en image de fond dans la cellule de 4D View Pro où la formule est exécutée.
  • C_OBJECT avec les deux propriétés suivantes (permettant de passer une date et une heure) :
    PropritéTypeDescription
    valueDateValeur date 
    timeRéelHeure en secondes

Si la méthode 4D ne renvoie rien, une chaîne vide est automatiquement retournée.

Une erreur est retournée dans la cellule 4D View Pro si :

  • la méthode 4D retourne une valeur d'un type autre que les types qui sont listés ci-dessus,
  • une erreur s'est produite durant l'exécution de la méthode 4D (lorsque l'utilisateur clique sur le bouton "abort").



Voir aussi  

USE 4D FORMULAS IN YOUR SPREADSHEET (blog post)
VP SET ALLOWED METHODS
VP SET CUSTOM FUNCTIONS

 
PROPRIÉTÉS 

Produit : 4D
Thème : Références de la base 4D

 
PAGE CONTENTS 
 
HISTORIQUE 

Créé : 4D v17 R2

 
UTILISATION DE L'ARTICLE

4D View Pro ( 4D v19)