Nouveautés de 4D v16 R4

Récupérer les nouveautés des versions précédentes de la R >.

Notation des objets

Les objets, introduits en tant qu’objets de langage dans la version 4D v14, pris en charge par le moteur de base de données dans la version 4D v15, améliorés dans la version 4D v16, verront leur fonctionnalité augmenter considérablement dans les prochaines versions, à partir de la version 4D v16 R4. Cela commencera par rendre le codage plus facile et plus rapide – et conduira dans un avenir pas si lointain à une révolution dans la façon d’écrire du code et d’utiliser le moteur de base de données.

Avec la notation objet, fournie en avant-première dans 4D v16 R4, vous pouvez simplement écrire $myobject.attribute.subattribute:=5 ou accéder à un attribut avec $person.children[2].firstname. Pour rappel, le statut d’aperçu signifie que vous pouvez jouer avec la nouvelle fonctionnalité et l’apprendre, mais qu’elle n’est pas encore prête pour la production.

En fait, vous pouvez utiliser la notation d’objet comme expression. Par exemple, créez un objet de formulaire comme une variable texte et affectez directement l’attribut de l’objet, par exemple [person]relatives.grandfather.grandfather.firstname. Il n’est plus nécessaire d’utiliser OB Get de manière récursive pour lire la valeur et l’affecter à une variable temporaire, juste pour l’afficher.

Pour utiliser les fonctionnalités de la notation d’objet, vous devez activer la notation d’objet dans la page Compatibilité de la boîte de dialogue des paramètres de la base de données . Cette action est irréversible.

Lorsque vous activez cette fonctionnalité, vous devez savoir qu’il n’est plus permis d’utiliser des caractères spéciaux tels que les points (.) et/ou les crochets ([ ]) dans les noms des variables, des tables, des champs et des méthodes de projet. Afin de vérifier que votre application est conforme aux prérequis de la notation d’objet, vous pouvez exécuter l’action Vérifier l’application dans le MSC. Les éléments contenant des caractères interdits seront listés dans le journal du MSC, afin que vous puissiez facilement trouver ce qui doit être renommé dans votre application.

La notation d’objet est supportée dans :

  • Éditeur de méthodes: L’utilisation de la notation d’objet est plus élégante, plus facile et plus intuitive dans la manipulation des objets que l’utilisation de OB Get et OB Set.
    Vous pouvez créer, lire ou modifier directement les attributs d’un objet, et même créer de nouveaux éléments dans un attribut de tableau d’objets simplement en l’utilisant. Si par exemple un tableau à l’intérieur d’un objet a 3 éléments et que vous écrivez dans l’élément 10, il est automatiquement agrandi et les éléments manquants sont créés.
  • L’éditeur de formulaire : Vous pouvez utiliser la notation d’objet comme source de données d’objet de formulaire dans l’éditeur de formulaire. Les objets complexes peuvent être affichés comme des champs à entrée unique. En utilisant ce langage, vous pouvez même créer un formulaire de manière entièrement dynamique et simplement lier les widgets du formulaire aux attributs de l’objet.
  • Debugger et Runtime Explorer : Vous pouvez utiliser la notation objet dans le débogueur afin de tester et de vérifier votre code.

Nouveau type de collection

4D v16 R4 introduit un nouveau type de collection dans le langage 4D. A première vue, une collection ressemble à un tableau, mais alors qu’un tableau est une liste hautement optimisée du même type(Array longint, Array Text, …), une collection est une sorte de conteneur stockant une liste de types individuels (un longint, puis un texte, puis un nombre, puis une image, un objet, même une autre collection, etc). Une collection est très flexible. Alors qu’un tableau nécessite moins de mémoire et pourrait être plus rapide, une collection est plus flexible et accélère le temps de développement.

On peut imaginer un objet comme une liste d’attributs nommés, alors qu’une collection est une liste d’attributs non nommés, accessibles par un index. La commande Nouvelle collection crée une nouvelle collection vide ou préremplie. Et les collections peuvent être accessibles avec la notation objet

Commande Null

La nouvelle commande Null peut être utilisée pour vérifier si un attribut d’objet ou un membre de collection a une valeur inconnue ou manquante (attention à la différence avec la valeur 0 ou une chaîne vide «  » avec une valeur non définie). Elle permet également de définir la valeur d’un attribut comme étant inconnue. Et oui, elle peut être utilisée avec la notation objet.

Prise en charge des images dans les objets

Les images peuvent être stockées dans un champ d’objet ou dans une variable d’objet. De nombreux développeurs ont utilisé le type de champ objet pour permettre à leurs clients d’améliorer la structure de la base de données avec des champs personnalisés, stockant toutes sortes d’informations. Les images n’étaient pas possibles jusqu’à présent.

Les commandes OB Get et OB SET ont été mises à jour pour prendre en charge le nouveau type d’image Is et pour pouvoir stocker une image dans un champ objet. Et bien sûr, vous pouvez aussi utiliser la notation objet…

Valider les objets JSON

En travaillant avec des objets, vous allez tôt ou tard échanger des objets avec d’autres applications ou services – et pour ce faire, vous devez analyser des chaînes JSON. Tant que ces chaînes sont bien définies, tout va bien, mais parfois elles ne le sont pas et une nouvelle option peut réduire considérablement votre temps de débogage. Le paramètre option * de JSON Parse crée des informations de débogage supplémentaires (propriété __symbols) qui fournissent le chemin, la position de la ligne et le décalage de ligne de chaque propriété et sous-propriété de l’objet. Ces informations peuvent être utiles à des fins de débogage.

Même si un objet est bien formé, il peut ne pas répondre aux spécifications demandées ou aux normes de contenu. La nouvelle commande JSON Validate vous permet de vérifier si la structure de l’objet correspond à une spécification donnée(schéma JSON).

4D Write Pro

Tableaux 4D Write Pro

Les tableaux font leur apparition dans 4D Write Pro. De vrais tableaux, des cellules individuelles, si vous entrez un grand texte dans une cellule, le texte sera automatiquement enveloppé, et la largeur de la cellule restera la même. Vous pouvez créer un tableau à partir de zéro et bien sûr modifier le style du tableau, ou ses colonnes, ses lignes et même les cellules individuelles, tout cela par programmation.

La nouvelle commande WP Insert table vous permet de créer un tableau avec un certain nombre de cellules, de lignes ou vide. Les commandes suivantes ont été créées pour vous permettre de gérer les tableaux dans votre document 4D Write Pro : WP Table append row, WP Table get rows, WP Table get columns, WP Table get cells. Toutes ces nouvelles commandes sont thread-safe.

Hyperliens 4D Write Pro

Ajouter un lien vers le logo ou le nom de votre entreprise est désormais aussi simple que de mettre du texte en gras. Grâce au nouvel attribut wk link url , des hyperliens peuvent être ajoutés sur des images, du texte ou une combinaison des deux, simplement en utilisant les commandes WP SET ATTRIBUTES et WP GET ATTRIBUTES.

Créez votre propre barre d’outils avec des actions standard

Créez facilement votre propre barre d’outils 4D Write Pro, sans aucune programmation. Le mécanisme des actions standard, simple mais très puissant, a encore été étendu avec 4D v16 R4. En effet, les actions standard peuvent désormais être affectées aux cases à cocher et aux menus déroulants.

L’utilisation des actions standard vous permet de bénéficier de mécanismes automatiques qui vous feront gagner du temps : l’activation/désactivation de l’objet est automatiquement gérée par 4D en fonction du contexte et l’état (pour les cases à cocher) ou la valeur (pour les menus déroulants) est automatiquement mis à jour par 4D en fonction de la sélection de texte en cours.

Ligne de produits 4D Windows 64-bit sans Altura

L’ensemble de la gamme de produits 4D Windows 64-bit ne dépend plus de la bibliothèque Mac2Win d’Altura. 4D Server Windows 64-bit était la dernière étape à franchir et c’est chose faite avec 4D v16 R4. Cela permet à 4D d’utiliser en interne des technologies modernes sur la plateforme Windows, et de vous faire bénéficier de nouvelles fonctionnalités telles que SDI.

Support SDI sur Windows

Sous Windows, 4D avait l’habitude d’avoir une fenêtre principale grise (appelée fenêtre MDI) avec toutes les fenêtres d’application affichées à l’intérieur (en tant que fenêtres enfants). Les applications SDI, comme Microsoft Outlook par exemple, ont une fenêtre principale mais peuvent ouvrir de nombreuses fenêtres supplémentaires qui sont indépendantes de la fenêtre principale. Elles peuvent être déplacées sur d’autres écrans, elles restent visibles même si la fenêtre principale est cachée et ainsi de suite…

D’un autre côté, MDI présente également des avantages pour certaines applications professionnelles, car toutes les fenêtres appartiennent ensemble pour construire l’application. Un bon exemple est Adobe Photoshop. C’est pourquoi 4D autorise les deux modes pour les applications fusionnées.

Tableaux de 4D View Pro

4D v16 R4 introduit en avant-première la toute première étape de la feuille de calcul 4D View Pro. Découvrez le nouvel objet formulaire de 4D View Pro, et les nouvelles commandes de 4D View Pro. Créez un nouveau document avec VP NEW DOCUMENT, enregistrez-le sur le disque avec VP EXPORT DOCUMENT ou dans la base de données avec VP Export to object et rouvrez-le avec VP IMPORT DOCUMENT ou VP IMPORT FROM OBJECT.

Fenêtre d’administration du serveur personnalisée

Une série de fonctionnalités en cours de développement vous permettra de créer votre propre fenêtre d’administration du serveur, en contrôlant les informations que vous souhaitez afficher ou autoriser l’administrateur à modifier.

Informations sur les processus et les utilisateurs

Dans un premier temps, la nouvelle commande Get process activity donne un aperçu des sessions utilisateur connectées, des processus en cours d’exécution associés et de tous les processus actuels, y compris les processus internes qui n’étaient pas accessibles par la commande PROCESS PROPERTIES. Vous pouvez également calculer, à partir des informations de session/processus retournées, le temps CPU consommé par ce processus depuis sa connexion (en secondes) et le pourcentage d’activité (par exemple : 2%).

Informations détaillées sur les licences

La nouvelle commande Get license info renvoie des informations détaillées sur les licences installées et les licences utilisées/disponibles.

Contrôle amélioré de l’affichage de l’aide

C’est très simple, vous pouvez par programmation désactiver ou activer tous les conseils d’aide dans une application 4D avec la commande SET DATABASE PARAMETER. Plus perfectionné, vous pouvez définir le délai d’affichage et la durée maximale de l’affichage par langue. Mais ce n’est pas tout, il est également possible de modifier dynamiquement le texte d’une info-bulle à l’aide de la commande OBJECT SET HELP TIP.

Définir l’ordre des onglets de formulaire par programmation

Cette fonctionnalité vous permet de définir dans un formulaire l’ordre de saisie des objets par programmation, afin de pouvoir contrôler sur quel prochain objet du formulaire le focus sera placé lorsque l’utilisateur appuiera sur la touche TAB. Deux nouvelles commandes – FORM SET ENTRY ORDER et FORM GET ENTRY ORDER – vous permettent respectivement de définir et d’obtenir dynamiquement l’ordre d’entrée des objets du formulaire pour le processus en cours. Cette fonctionnalité est particulièrement utile lorsque vous créez des formulaires de manière dynamique.

Amélioration de l’interface utilisateur liée à IPv6

4D v16 R4 apporte quelques améliorations à l’interface utilisateur pour une meilleure expérience utilisateur pour les personnes utilisant des configurations réseau IPv6.

Vous voulez en savoir plus ? Lisez tous les articles de blog sur 4D v16 R4 !