Nouveautés de 4D v18 R3

Caractéristiques de la programmation

Classes

4D v18 R3 introduit un nouveau concept dans le langage 4D : les classes. Une classe vous permet de définir le comportement d’un objet par le biais de propriétés et de fonctions. Une fois qu’une classe est définie, vous pouvez instancier des objets de cette classe n’importe où dans votre code. Chaque objet est une instance de sa classe. Les classes peuvent étendre d’autres classes, puis hériter de leurs fonctions.

Deux types de classes sont disponibles dans 4D : les classes 4D intégrées (retournées par la commande 4D ) et les classes utilisateur (retournées par la commande cs ).

Pour créer un objet en tant qu’instance d’une classe, utilisez la commande cs avec la fonction membre new. Un autre terme important à connaître est : constructeur. Le constructeur est utilisé pour créer et instancier un objet avec des attributs par défaut. Il est appelé automatiquement lorsqu’un objet est initialisé. La création d’une classe se fait à partir du menu « New » dans la barre d’outils, ou à partir du dialogue « Explorer ». Un éditeur de classe s’affiche, dans lequel vous pouvez créer le constructeur et les fonctions de la classe.

Héritage de classe

L’héritage permet à une classe d’hériter du comportement d’une autre classe (la classe mère ). Pour hériter d’une classe utilisateur à une autre, utilisez le mot-clé Class extends et le constructeur de la classe parent est automatiquement appelé (si vous n’avez pas défini un constructeur spécifique pour la classe enfant ). Vous pouvez également utiliser la commande Super pour appeler le constructeur de la classe parent.

Plusieurs serveurs Web dans une seule instance de 4D

4D v18 R3 vous permet de démarrer et de surveiller un serveur web pour la base de données principale (hôte), ainsi que pour chaque composant hébergé. La nouvelle commande WEB server permet de gérer les serveurs web dans des objets distincts pour chaque serveur. Elle accepte également un paramètre facultatif pour définir le serveur à utiliser :

  • Serveur de base de données Web – pour manipuler le serveur Web de la base de données actuelle (la base de données hôte ou la base de données du composant, selon l’endroit où la commande est appelée).
  • Serveur Web de base de données hôte – pour manipuler le serveur Web de la base de données hôte à partir d’un composant.
  • Serveur de réception de requêtes Web – pour manipuler le serveur Web recevant une requête, dans une méthode commune de gestion de serveur Web, par exemple.

Deux méthodes membres sont disponibles pour démarrer et arrêter le serveur Web : start() et stop(). Pour obtenir une liste des serveurs web disponibles, la nouvelle commande WEB Server list renvoie une collection d’objets correspondant à tous les serveurs web disponibles pour la base de données hôte.

Prise en charge améliorée de XPath

À partir de 4D v18 R3, la mise en œuvre de XPath est plus conforme et simplifie vos recherches en permettant la prise en charge d’expressions telles que //, @, * et last(). Pour des raisons de compatibilité, l’implémentation précédente, non standard, est maintenue par défaut dans les bases de données converties. Pour profiter des fonctionnalités étendues dans vos bases de données converties, sélectionnez l’option Utiliser la compatibilité XPath standard sur la page Compatibilité.

Améliorations apportées aux objets et aux collections

La commande OB Copy() et la méthode membre collection.copy() ont été améliorées dans 4D v18 R3. Elles vous donnent désormais la possibilité d’ajouter un objet standard dans un objet partagé ou une collection afin d’éviter d’avoir recours à un code complexe pour copier le contenu de l’objet standard dans l’objet partagé ou la collection. De plus, de nouvelles commandes permettant de manipuler les objets comme des cartes de hachage sont disponibles :

  • OB Keys: renvoie les noms des propriétés d’un objet sous forme de collection.
  • OB Values: renvoie les valeurs des propriétés d’un objet sous forme de collection.
  • OB Entries: renvoie une collection d’objets avec des propriétés clés (nom de propriété) et des valeurs (valeur de propriété).

Créer une zone Web hors écran

4D v18 R3 vous permet d’utiliser une zone web en mode hors écran avec la commande WA Run offscreen area. Elle crée une zone web en mémoire et prend, en paramètre, toutes les informations pertinentes pour la zone web telles que :

  • L’URL à charger
  • Le nom de la zone
  • La formule appelée lorsqu’un événement est déclenché par la zone web.

Et pour simplifier le débogage d’une zone web hors écran, une nouvelle commande a été ajoutée : WA OPEN WEB INSPECTOR. Elle ouvre l’inspecteur Web et vous permet de vérifier si la page est correctement chargée ou si votre code JavaScript génère des erreurs.

Administration du serveur 4D

Surveiller l’activité du serveur 4D

Pour découvrir quelles opérations provoquent la lenteur d’un serveur, 4D v18 R3 fournit une nouvelle commande : START MONITORING ACTIVITY. Elle enregistre les opérations dépassant une durée spécifiée en utilisant deux paramètres : la durée et l’opération à surveiller. Sur la base des spécifications définies par cette commande, vous pouvez également obtenir toutes les activités enregistrées avec la commande Get Monitored Activity(). Lorsque vous décidez d’arrêter d’enregistrer l’activité de votre application 4D ou de vider la liste des activités, appelez la commande STOP MONITORING ACTIVITY.

ORDA

Nouvelles méthodes de sélection d’entités

De nouvelles méthodes membres sont à votre disposition dans 4D v18 R3 :

  • extract(): pour extraire les données d’une sélection d’entités. Cela vous permet de construire une collection entièrement personnalisée avec les données de votre sélection d’entités. Vous pouvez spécifier les attributs de la classe de données que vous souhaitez extraire et leurs noms dans la collection résultante.
  • refresh(): invalide les données de sélection d’entités dans le cache ORDA. Cela déclenche une mise à jour du serveur la prochaine fois que vous utilisez les données. Par défaut, le cache ORDA expire au bout de 30 secondes. Utilisez donc cette méthode membre si vous avez besoin de données actualisées immédiatement.

Sélection des lignes d’une boîte de liste

4D v18 R3 fournit une nouvelle commande qui facilite la sélection de lignes dans une sélection d’entités : LISTBOX SELECT ROWS. Elle accepte une sélection d’entités comme paramètre et les lignes correspondant à la sélection d’entités peuvent être sélectionnées intuitivement (y compris les lignes ajoutées ou supprimées de la sélection). Et pour les boîtes de liste de collection, vous pouvez passer une collection contenant les références d’objets que vous voulez sélectionner.

Base de données des projets

Documentation sur les méthodes

À partir de 4D v18 R3, vous pouvez écrire votre propre documentation pour les méthodes de projet, de base de données, de déclencheur, de projet et de formulaire de table. La documentation est enregistrée dans un fichier Markdown portant le même nom que la méthode ou le formulaire dans un dossier de documentation. Markdown est un format standard pour la documentation et permet des styles de formatage améliorés. Le format peut être affiché dans 4D Explorer, dans GitHub ou dans d’autres outils. La documentation peut contenir la description d’un élément, ainsi que toute information nécessaire pour comprendre le fonctionnement de l’élément dans la base de données. Pour créer ou modifier le fichier de documentation dans une base de données de projet, à partir de l’explorateur, cliquez sur le bouton « Créer » ou sélectionnez l’élément de menu « Modifier la documentation ». 4D crée le fichier correspondant et l’ouvre dans votre éditeur par défaut avec un modèle prédéfini.

Définir la taille des polices automatiques

4D propose trois thèmes de polices automatiques qui respectent les directives de chaque plateforme. 4D v18 R3 vous permet de modifier la taille de ces thèmes automatiques et de mieux contrôler l’affichage de votre texte.

4D pour iOS

Modèles prêts à l’emploi

Plus de 40 modèles prêts à l’emploi sont à votre disposition, accessibles depuis l’éditeur de projet. La galerie est basée sur une liste dynamique de modèles à jour disponibles sur GitHub. Pour utiliser un modèle, une icône « More » est disponible pour les formulaires de liste et de détail qui affichera la liste complète des modèles de la section Formulaires. Sélectionnez le modèle et 4D pour iOS se chargera de l’installation. Dans une dernière étape, vous pouvez l’améliorer en fonction de vos besoins.

Emails

Télécharger des e-mails au format MIME

4D v18 R3 fournit une commande qui vous permet de stocker les e-mails dans leur format original, non converti, reçu. En utilisant la méthode POP3_transporter.getMIMEAsBlob( ), vous pouvez obtenir un BLOB contenant le contenu MIME d’un message spécifique, qui peut être enregistré dans votre base de données ou ailleurs.

4D Write Pro

Nouvelles actions standard pour les tableaux et leurs éléments

4D v18 R3 ajoute de nouvelles actions standard à 4D Write Pro, ciblant les tableaux, les lignes et les cellules. Elles permettent de définir le type de bordure d’un tableau, la couleur de fond d’une cellule, l’alignement vertical du texte dans une ligne, l’alignement du tableau lui-même dans le document, les marges, le remplissage et plus de 40 autres options. Par conséquent, l’interface de 4D Write Pro a été améliorée en termes de capacités de traitement des tableaux. Quatre nouveaux boutons ont été ajoutés pour modifier l’apparence des tableaux, des lignes, des colonnes et des cellules.

Prise en charge des attributs protégés

Dans 4D v18 R3, des parties désignées des documents 4D Write Pro (ou toutes les parties) peuvent être « non éditables ». Deux niveaux de protection sont disponibles. Tout d’abord, définissez la partie des documents qui sera protégée (par défaut, toutes les parties sont protégées). Ensuite, activez le drapeau de protection du document afin que les paramètres que vous avez définis soient pris en compte. Pour cela, deux nouveaux attributs sont disponibles et peuvent être utilisés avec la commandeWPSET ATTRIBUTES : wk protected (peut être défini sur presque tout type de cible appartenant à un document), et wk protection enabled (active ou désactive la protection globale du document).

4D View Pro

Plus d’options pour personnaliser les feuilles de travail

Une nouvelle commande, VP SET SHEET OPTIONS, est disponible pour définir diverses options de feuille d’une zone 4D View Pro. Par exemple, cette commande vous permet de

  • de protéger une feuille de calcul en empêchant la modification des cellules qu’elle contient,
  • personnaliser les couleurs des onglets de votre feuille de calcul, des lignes gelées, des lignes de grille, ou de l’arrière-plan et de la bordure d’une sélection,
  • gérer la visibilité des lignes de grille et des en-têtes de ligne et de colonne d’une feuille de calcul.

Vous voulez en savoir plus ? Lire tous les articles de blog sur 4D v18 R3