Nouvel objet : une façon simple d’initialiser un objet

Traduit automatiquement de Deepl

Découvrez New object, la nouvelle commande de 4D pour initialiser un objet. Cette commande permet soit de créer un objet vide, soit de le créer avec quelques propriétés et valeurs initiales. OB SET devient maintenant inutile dans plusieurs situations, New object suffit.

New object permet également de réinitialiser un objet temporaire dans une boucle ou simplement de passer directement un objet en paramètre à une commande 4D demandant un objet en paramètre, comme les commandes Get database measures ou GRAPH par exemple.

Cette nouvelle commande change votre façon d’écrire du code 4D dans de nombreuses situations. New object crée un objet et retourne une référence à celui-ci. Elle permet une plus grande flexibilité dans votre code. Cette commande est la première d’une série de nouvelles fonctionnalités liées aux objets … Restez à l’écoute !

Exemple 1

Ce premier exemple vous montre comment créer simplement un objet vide. Dans les versions précédentes de 4D, la seule façon de le faire était d’utiliser JSON Parse(« {} »), ce qui n’est pas évident. En fait la commande C_OBJECT déclare une variable objet qui ne contient aucun objet et l’objet n’est en fait créé qu’au premier appel de OB SET ainsi que certaines propriétés sont définies. A partir de la v16 R3 plus besoin d’utiliser JSON Parse, il n’y a qu’une seule commande pour initialiser vos objets : New object! facile et intuitif !

// Previous versions
C_OBJECT( ) := ("{}") $obj
$objJSON Parse
//$obj={}

Depuis 4D v16 R3, vous pouvez simplement utiliser New object:

// From 4D v16 R3
C_OBJECT( ) := $obj
$objNew object

//$obj={}

Exemple 2

Vous pouvez également utiliser directement New object à l’intérieur d’une commande 4D sans créer d’objet auparavant comme indiqué ci-dessous.

// Previous versions
C_OBJECT( ) ( ) ( ; "path" ; "DB.cacheReadBytes") ( ; "withHistory";True) ( ; "historyLength";2*60) := ( )$oParams
C_OBJECT$measures
OB SET$oParams
OB SET$oParams
OB SET$oParams
$measuresGet database measures$oParams

Depuis 4D v16 R3, vous pouvez écrire ce code en utilisant New object:

// From 4D v16 R3
C_OBJECT($measures)
$measures :=Get database measures(New object("path" ; "DB.cacheReadBytes" ; "withHistory";True ; "historyLength";120))

Vous trouverez d’autres exemples de code dans la base de données d’exemples suivante :

Base de données d’exemple

Pour plus de détails, vous pouvez également vous référer à la documentation. Jetez un coup d’œil à l’article consacré à la commande New object dans le manuel du langage 4D v16 R3.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené a rejoint l'équipe du programme 4D en novembre 2016. En tant que Product Owner, il est en charge de rédiger les user stories puis de les traduire en spécifications fonctionnelles. Son rôle est également de s'assurer que l'implémentation de la fonctionnalité livrée répond au besoin du client.Après avoir obtenu une licence en informatique au CNAM, Fabrice a rejoint une petite société d'édition de logiciels en tant que développeur Windev. Il a ensuite travaillé pour différentes entreprises dans les domaines de l'industrie et du commerce en tant que développeur Windev et web ainsi que conseiller technique sur les nouvelles fonctionnalités.