4D v16.3

Changement de comportement

Accueil

 
4D v16.3
Changement de comportement

Changement de comportement    


 

Licence  

La gestion des licences des produits 4D a été améliorée dans 4D v16 :

Première activation simplifiée :  La saisie d'un nouveau numéro de licence dans la boîte de dialogue de "Mise à jour des licences" active désormais automatiquement, en une seule opération, 4D Server ainsi que toutes les expansions qui lui sont associées (clients supplémentaires, plug-ins, etc.).

Nouveau bouton Actualiser : Vous pouvez désormais activer vos licences via un simple clic sur le bouton Actualiser dans la boîte de dialogue "Mise à jour des licences"  

Ce nouveau bouton vous connecte à notre base clients et active automatiquement toutes les licences nouvelles ou mises à jour liées à la licence courante (la licence courante est affichée en gras dans la liste des Licences actives). Vous devrez simplement saisir vos identifiants 4D (compte et mot de passe). Cliquez sur le bouton Actualiser dans les contextes suivants :

  • lorsque vous avez acquis une expansion supplémentaire et souhaitez l'activer,
  • lorsque vous voulez mettre à jour un numéro de licence temporaire ayant expiré (Partenaires ou évolutions).

Nouvelle fonction d'auto-activation : Cette fonction se déclenche lorsque vous lancez un produit 4D plus récent pour lequel vous n'avez pas encore saisi de licence, ou lorsque la licence détectée sur le poste pour le produit n'est pas valide. La procédure d'auto-activation démarre :

  • lorsque vous ouvrez/créez une base locale interprétée avec 4D Developer Edition. Dans ce cas, une boîte de dialogue vous informe que vous allez être connecté à notre base clients et que vos licences vont être activées (vous devrez saisir le mot de passe de votre compte 4D).
  • lorsque vous lancez une application 4D Server. Dans ce cas, afin de permettre l'utilisation en tant que service ou les mises à jour automatiques, le processus d'auto-activation est transparent du point de vue utilisateur et entièrement automatique (aucune boîte de dialogue n'apparaît).

Langage  

OBJECT SET FORMAT / OBJECT Get format : Ces commandes proposent désormais une prise en charge des icônes dans les en-têtes de list box.

METHOD GET CODE :  cette commande  retourne le code sous forme de texte indenté.

DELETE FOLDER: permet désormais de supprimer un dossier non vide

Polices  

La commande FONT LIST sous Windows ne retourne que les polices vectorielles.

64 bits uniquement : Les nouveautés décrites dans cette section sont disponibles uniquement dans 4D v16 64 bits (4D Developer Edition et 4D Volume Desktop, voir la section Impressions (refonte)).

L'architecture d'impression a été entièrement réécrite dans 4D 64-bits afin de pouvoir bénéficier des bibliothèques d'impression et des boîtes de dialogue les plus récentes, basées sur les systèmes d'exploitation. Bien que cette mise à jour soit transparente pour les utilisateurs, les différences suivantes sont à noter :

  • La boîte de dialogue Imprimer (Windows et OS X) a été mise à jour ; une boîte de dialogue système standard est désormais affichée sur les deux plates-formes
  • Sur Windows, la boite de dialogue Mise en page a été mise à jour ; elle est désormais fournie par le système d'exploitation.
  • Commande PRINT SETTINGS : La boîte de dialogue Format d'impression n'est plus affichée automatiquement lorsqu'une commande d'impression est appelée. Pour l'afficher, vous devez utiliser la constante Dialogue de format d'impression dans le paramètre typeDial.
    Une deuxième constante a été ajoutée à cette commande : Dialogue d'impression permettant d'indiquer l'affichage ou non du dialogue d'impression.
  • Les options d'impression suivantes (utilisées avec les commandes GET PRINT OPTION et SET PRINT OPTION) ont été modifiées :

    Option (constante)OSStatut dans 4D v16Commentaires
    2 (Option orientation)Windows et OS XMise à jourPeut être appelée au sein d'une tâche d'impression, ce qui signifie que vous pouvez passer du mode portrait au mode paysage et inversement dans la même tâche d'impression.
    8 (Option couleur)Windows seulementSuppriméeObsolète
    13 (Option mode impression Mac)OS X seulementSuppriméeRemplacée par une nouvelle option de la commande SET CURRENT PRINTER

A noter : Les commandes OPEN PRINTING JOB, CLOSE PRINTING JOB, SET PRINT OPTION et SET PRINT OPTION sont compatibles avec la commande 4D Write Pro  WP PRINT : pour plus d'informations, voir WP PRINT. Toutes les options sont prises en charge pour les documents 4D Write Pro, sauf pour les options Option papier et Option orientation, pour lesquelles il est conseillé d'utiliser plutôt la commande  WP USE PAGE SETUP pour fixer la taille de la page et l'orientation séparément.

Listbox  

Tableau de contrôle des lignes

Une nouvelle propriété, Tableau de contrôle des lignes, vous donne la possibilité de contrôler les nouvelles propriétés d'interface :

  • masquée ou visible (visible par défaut)
  • activée ou désactivée (activée par défaut)
  • sélectionnable ou non sélectionnable (sélectionnable par défaut)
    La propriété Tableau de contrôle des lignes peut être fixée ou lue à l'aide des commandes LISTBOX SET ARRAY et LISTBOX Get array. Le tableau peut également être retourné par la commande LISTBOX GET ARRAYS

    Dans les versions précédentes de 4D, cette propriété était nommée "Tableau lignes masquées" et attendait un tableau booléen. Par compatibilité, un tableau booléen est toujours accepté comme tableau de contrôle des lignes. Dans ce tableau, chaque élément indique le statut masqué/affiché de la ligne correspondante dans la list box. Vrai signifie que la ligne est masquée et Faux, qu'elle est affichée.
En-têtes et Pieds

 

La hauteur minimum en pixels des en-têtes dépend du système. Si vous passez une valeur trop petite, elle sera remplacée par la taille minimum définie dans le système pour les en-têtes. Il n’y a pas de taille minimum pour les pieds et les lignes.

Sous Windows 7, la hauteur minimale des en-têtes est de 24 pixels. Les en-têtes de hauteur inférieure dans vos bases converties seront automatiquement redimensionnés à 24 pixels.
Vous pouvez également définir dynamiquement la hauteur de ligne des en-têtes et des pieds à l'aide des commandes LISTBOX SET HEADERS HEIGHT et LISTBOX SET FOOTERS HEIGHT.

Le rendu peut être différent de vos attentes. C'est donc un point à contrôler sur vos formulaires.


Listbox converties

Les list box issues de la conversion d’anciennes zones de défilement groupées sont connectées. Les list box connectées ont un fonctionnement coordonné : la sélection d’une ligne dans une list box entraîne la sélection de la même ligne dans les list box appartenant au même groupe de connexion, le défilement vertical d’une list box entraîne un défilement identique dans les list box appartenant au même groupe de connexion.

Note : Les list box converties sont également groupées dans le formulaire (fonction standard de 4D)
La connexion et la déconnexion des list box sont gérées via les commandes Connecter et Déconnecter placées dans le menu Objets de l’éditeur de formulaires :



Ces commandes sont activées contextuellement lorsque plusieurs list box sont sélectionnées dans le formulaire. Lorsqu’une list box connectée (i.e. appartenant à un groupe de connexion) est sélectionnée, un "badge" spécifique est affiché sur toutes les list box appartenant au même groupe de connexion :


Ces principes permettent de reproduire le fonctionnement des anciennes zones de défilement groupées. Il est toutefois conseillé d’adapter les formulaires convertis en exploitant les fonctionnalités standard des list box 

Les options avancées de l'Assistant de création de formulaires ont été mises à jour en fonction des évolutions matérielles et des produits 4D :

  • La liste Moniteur inclut désormais la résolution "2048x1536" :
  • Dans les formulaires générés, la propriété Nom de la variable est désormais laissée vide pour les boutons de navigation.

Grâce à un nouvel algorithme interne, l'exécution de la commande Replace string a été accélérée de manière importante dans 4D v15 R3 lorsque vous remplacez une chaîne par une autre de taille différente. C'est le cas par exemple pour les remplacements suivants : 

 vResult:=Replace string(Source_Text;"a";"aa") //basé sur les caractères
 vResult2:=Replace string(Source_Text2;"à";"aa";*) //basé sur les codes de caractères

Le nouvel algorithme est optimisé pour les deux syntaxes. Plus la taille du texte source et le nombre de remplacements sont importants, plus l'optimisation est significative.

Nos benchmarks ont donné les résultats suivants, par rapport à l'algorithme précédent :

Remplacements basés sur les codes de caractères (* passé)Remplacements basés sur les caractères (* omis)
Environ 950 fois plus rapidesEnviron 4400 fois plus rapides

Les tests ont été effectués en remplaçant "a" ou "à" par "aa" dans un fichier contenant 32 000 occurrences à remplacer.

Note : Le remplacement de chaînes de même longueur n'est pas affecté et est aussi rapide qu'avec l'algorithme précédent.

Des informations supplémentaires sont fournies en cas de détection de doublons dans des champs uniques :

  • Lors de l'utilisation du CSM ou d'une commande telle VERIFY DATA FILE, les fichiers d'historique générés contiennent désormais les noms des tables et des champs en cause, ainsi que chaque valeur dupliquée. 
  • Lors de la saisie de données, la boîte de dialogue d'erreur "Clé dupliquée" contient désormais les noms de la table et du champ concernés, ainsi que la valeur dupliquée. 
  • La commande GET LAST ERROR STACK contient également des informations détaillées sur les éventuels doublons.
  • Lorsque 4D ouvre un fichier de données, s'il est nécessaire de construire (ou de reconstruire) un index, les doublons sont désormais automatiquement détectés dans le ou les champ(s) associé(s) déclaré(s) unique(s). Dans ce cas, une boîte de dialogue d'alerte spécifique est affichée avant l'ouverture de la base, fournissant à l'utilisateur les informations nécessaires pour identifier et supprimer les doublons :

Dans les versions précédentes de 4D, les commandes DOM Get XML element et DOM Count XML elements ne tenaient pas compte de la casse des caractères lors de l'évaluation du paramètre nomElément, ce qui n'est pas conforme au XML. A compter de 4D v16.2, ces commandes tiennent compte par défaut de la casse des caractères. Si vous souhaitez rétablir leur fonctionnement précédent, appelez la commande XML SET OPTIONS avec le sélecteur XML DOM case sensitivity sur XML case insensitive.

4D utilise toujours le point (.) comme séparateur décimal lors de l'évaluation d'une expression numérique via les balises 4DTEXT, 4DVAR, 4DHTML, 4DHTMLVAR et 4DEVAL. Les paramètres régionaux sont désormais ignorés dans ce contexte.

Par exemple, quels que soient les paramètres régionaux :

 value:=10/4
 input:="<!--#4DTEXT value-->"
 PROCESS 4D TAGS(input;output)
  // retourne toujours 2.5 même si les paramètres régionaux déclarent le ',' comme séparateur

Donc, si votre code évalue des expressions numériques via des balises 4D et en tenant compte des paramètres régionaux, il vous sera nécessaire de l'adapter à l'aide de la commande String :

  • Pour obtenir value avec le point comme séparateur décimal : <!--#4DTEXT value-->
  • Pour obtenir value avec le séparateur décimal défini dans les paramètres régionaux : <!--#4DTEXT Chaine(value)-->

Pour plus d'information, voir Balises HTML 4D

Désactivation de la méthode TRACE, erreur 405. Si réactivation nécessaire, vous devez utiliser l'option Web TRACE HTTP avec la commande WEB SET OPTION

Les noms des fichiers d'historique générés durant les opérations de maintenance via le CSM ou la fenêtre d'administration de 4D Server sont désormais uniques et donc différents à chaque stockage sur disque. Dans les versions précédentes, ces fichiers prenant toujours le même nom, ils étaient écrasés à chaque nouveau stockage et donc purgés automatiquement. Il est désormais de la responsabilité de l'administrateur de la base de supprimer les fichiers d'historiques les plus anciens si nécessaire, aussi bien avec 4D qu'avec 4D Server.

Modifications entre les versions v15.x/v15Rx et v16 : elles concernent la gestion de l’encodage et des jeux de caractères (charset), notamment pour les noms de fichiers joints, lors de l’envoi de mails. Dans les bases où des contournements avaient été mis en place il faut vérifier que ces modifications n'entrainent pas de dysfonctionnements.

Deux commandes ont été mises à jour : SMTP_Charset et SMTP_SetPrefs.

  • SMTP_Charset 
    Les noms de fichiers joints sont encodés en base64 
    - La valeur 0 pour les paramètres indique l’utilisation de la valeur par défaut (et non « ne rien faire »), ce qui signifie :
         Pour encoderEntêtes : jeu de caractères UTF-8 pour "Subject", ISO-8859-1 pour les autres champs
         Pour jeuCorps : jeu de caractères UTF-8 encodage base64
    - La valeur 1 pour les paramètres indique l’utilisation de la valeur définie par SMTP_SetPrefs
  • SMTP_SetPrefs
    Le deuxième paramètre (renommé charset&Encodage) indique une combinaison de jeu de caractères et d’encodage pour le body ainsi que le jeu de caractères des en-têtes et des noms de fichiers. La documentation a été clarifiée et recense toutes les combinaisons acceptées :
    ValeurJeu de caractères et encodage du corpsJeu de caractères des en-têtes et noms de fichiers (encodage base64)
    -1Pas de changementPas de changement
    0Application & binary ; pas d'encodageISO-8859-1
    1Défaut : UTF-8 & base64Défaut : UTF-8 pour objet, ISO-8859-1 pour les autres champs
    2US-ASCII & 7bitISO-8859-1
    3US-ASCII & quotable-printableISO-8859-1
    4US-ASCII  & base 64ISO-8859-1
    5ISO-8859-1 & quotable-printableISO-8859-1
    6ISO-8859-1 & base64ISO-8859-1
    7ISO-8859-1 & 8bitISO-8859-1
    8ISO-8859-1 & binaryISO-8859-1
    9réservéréservé
    10ISO-2022-JP (Japonais) & 7bitISO-2022-JP
    11ISO-2022-KR (Coréen) & 7 bitsISO-2022-KR
    12ISO-2022-CN (Chinois traditionnel et simplifié) & 7 bitISO-2022-CN
    13HZ-GB-2312 (Chinois simplifié) & 7 bitHZ-GB-2312
    14Shift-JIS (Japonais) & base64Shift-JIS
    15UTF-8 & quoted-printableUTF-8
    16UTF-8 & base64UTF-8

 
 

 
PROPRIÉTÉS 

Produit : 4D
Thème : Changement de comportement

 
HISTORIQUE 

New
Modifié : 4D v16.2

 
UTILISATION DE L'ARTICLE

Conversion en 4D v16 ( 4D v16.2)
Conversion en 4D v16 ( 4D v16.3)

Hérité de : Changement de comportement ( 4D v16)