La page Compatibilité regroupe les paramètres relatifs au maintien de la compatibilité avec les versions précédentes de 4D. A noter que le nombre d’options affichées dépend de la version de 4D avec laquelle la base de données a été créée à l’origine (2004.x, v11, v12...) ainsi que des paramétrages modifiés dans cette base.
Note : Cette page n'apparaît pas pour les bases de données créées avec une version courante de 4D (bases non converties).
Les champs sont saisissables dans les dialogues : dans les versions précédentes de 4D, il n’était pas possible de saisir des valeurs par l’intermédiaire de champs dans des boîtes de dialogue (affichées par exemple à l’aide de la commande DIALOGUE). Cette limitation a été supprimée depuis 4D 2004. Vous pouvez toutefois souhaiter conserver le fonctionnement précédent, notamment si votre base de données utilise des champs dans des boîtes de dialogue pour afficher des données. Par défaut, cette option est cochée pour les anciennes bases de données converties en version 2004 et non cochée pour les bases de données créées à partir de la version 2004.
Boutons radio groupés par nom : dans les versions précédentes de 4D, le fonctionnement coordonné d’un groupe de boutons radio était obtenu en donnant une première lettre identique aux variables associées aux boutons (par exemple m_bouton1, m_bouton2, m_bouton3, etc.). Ce principe a été remplacé depuis 4D 2004 par le suivant : pour fonctionner de manière coordonnée, un ensemble de boutons radio doit simplement être groupé dans l’éditeur de formulaires. Pour plus d’informations sur ce point, reportez-vous à la section Boutons radio et boutons radio image. Ce nouveau mode est valide pour les boutons radio, les boutons radio 3D et les boutons radio image. Pour des raisons de compatibilité, l’ancien mode est conservé par défaut dans les bases de données converties. Vous pouvez cependant forcer l’utilisation du nouveau mode en désélectionnant cette option. Les bases de données créées à compter de la version 2004 utilisent le nouveau mode.
Recharger le formulaire pour chaque enregistrement durant un IMPRIMER SELECTION : dans les versions précédentes de 4D, le formulaire utilisé lors d’une impression lancée à l’aide de la commande IMPRIMER SELECTION était rechargé pour chaque enregistrement. Ce principe permettait de réinitialiser automatiquement tous les paramètres des objets que le développeur avait pu modifier par le langage dans l’événement formulaire Sur impression corps. Afin d’optimiser les performances, ce mécanisme a été supprimé à compter de 4D 2004. Le développeur 4D doit désormais réinitialiser lui-même les paramètres qu’il souhaite dans la méthode formulaire — ce fonctionnement est identique à celui des formulaires listes avec l’événement Sur affichage corps. Vous pouvez toutefois conserver l’ancien mécanisme à l’aide de cette option. Les bases de données créées à compter de la version 2004 utilisent le nouveau mode.
Utiliser les commentaires 4DVAR au lieu des crochets : cette option définit la notation à utiliser pour l’insertion d’expressions 4D dans les pages statiques. Lorsque l’option est cochée (valeur par défaut), la syntaxe à employer est la notation HTML standard (<!--4DVAR MAVAR-->). Lorsque l’option est désélectionnée, la syntaxe à employer est la notation avec les crochets ([MAVAR]) — solution propriétaire utilisée dans les anciennes versions du serveur Web de 4D.
Ne pas utiliser nouveau référencement des contextes : lorsque cette option n'est pas cochée (valeur par défaut), le serveur Web 4D place le numéro de contexte dans l’URL de base des documents HTML envoyés. Avec l’ancien système (option sélectionnée), le serveur Web 4D envoie au navigateur le numéro du contexte pour chaque élément d’une page, ce qui ralentit les traitements. Cette option peut cependant être cochée pour des raisons de compatibilité. Notez qu’après l’avoir modifiée, vous devez redémarrer la base afin que le nouveau fonctionnement soit effectif.
Supprimer le “/” sur les URLs inconnus : dans les anciennes versions de 4D, les URLs inconnus (URLs ne correspondant à aucune page ni URLs spéciaux) étaient retournés dans les méthodes bases Sur authentification Web et Sur connexion Web ($1) sans débuter par le caractère “/”. Cette particularité a été supprimée depuis 4D 2004. Toutefois, si vous aviez mis en place des mécanismes basés sur ce fonctionnement et souhaitez le conserver, vous pouvez désélectionner cette option.
Interdire de glisser des données ne provenant pas de 4D : à compter de la v11, 4D permet le glisser-déposer de sélections, d’objets ou de fichiers provenant de l’extérieur de 4D, comme par exemple des fichiers image, en mode Application. Cette possibilité doit être prise en charge par le code de la base. Dans les bases de données converties depuis une version précédente de 4D, ce principe peut entraîner des dysfonctionnements si le code existant n’est pas adapté. Cette option permet d’anticiper ces éventuels dysfonctionnements. Lorsqu’elle est cochée, le déposer d’objets externes est refusé dans les formulaires 4D. A noter toutefois que l’insertion d’objets externes reste possible dans les objets disposant de l’option Déposer automatique, lorsque l’application peut interpréter automatiquement les données déposées (texte ou image). Pour plus d’informations, reportez-vous à la section Glisser Déposer.
Exécuter CHERCHER PAR FORMULE sur le serveur et Exécuter TRIER PAR FORMULE sur le serveur : à compter de 4D v11, pour des raisons d’optimisation, les commandes de recherches et de tris “par formule” sont exécutées sur le serveur ; seul le résultat est retourné au poste client distant. Il s’agit des commandes CHERCHER PAR FORMULE, CHERCHER PAR FORMULE DANS SELECTION et TRIER PAR FORMULE. En cas d’appel direct de variables dans la formule, la requête est calculée avec la valeur de la variable sur le poste client. Par exemple,
sera exécuté sur le serveur mais avec le contenu de la variable lavariable du client. En revanche, ce principe n’est pas appliqué pour les formules utilisant des méthodes qui, elles-mêmes, font appel à des variables : dans ce cas la valeur des variables est évaluée sur le serveur. Dans les bases de données converties, ce fonctionnement peut affecter les algorithmes existants. Par conséquent, par défaut dans ce contexte ces commandes continuent d’être exécutées sur le poste client. Si vous souhaitez bénéficier du nouvel algorithme dans une base convertie, il vous suffit de cocher ces options. Note : Cette option peut être définie par process via la commande FIXER PARAMETRE BASE.
CHERCHER PAR FORMULE utilise jointures SQL : à compter de 4D v11, les commandes CHERCHER PAR FORMULE et CHERCHER PAR FORMULE DANS SELECTION effectuent des “jointures” à la manière du SQL. Avec ce principe, il n’est pas nécessaire qu’un lien automatique structurel existe entre la table A et la table B pour pouvoir utiliser une formule contenant [Table_A ]champ_X=[Table_B ]champ_Y. Ce mécanisme pouvant générer des dysfonctionnements dans les applications existantes, il est désactivé par défaut dans les bases de données converties. Il est conseillé de l’activer (après contrôle du code de la base) en cochant cette option afin de bénéficier de l’optimisation des commandes de recherche par formule. Notes :
Lorsque le mode “jointure SQL” est activé, les commandes CHERCHER PAR FORMULE et CHERCHER PAR FORMULE DANS SELECTION utilisent toutefois les liens automatiques définis dans l’éditeur de structure dans les cas suivants : - si la formule ne peut se pas décomposer en éléments de la forme {champ ;comparateur ;valeur} - si deux champs de la même table sont comparés.
Cette option peut également être définie par process via la commande FIXER PARAMETRE BASE.
Autoriser les transactions imbriquées : active la prise en charge des transactions multi-niveaux. A compter de la v11, 4D accepte les transactions imbriquées sur un nombre de niveaux illimité. Ce fonctionnement pouvant générer des dysfonctionnements dans les bases développées avec des versions précédentes de 4D, il est désactivé par défaut dans les bases converties (les transactions restent limitées à un seul niveau). Pour en bénéficier dans une base convertie, vous devez cocher cette option. Cette option n’est pas cochée par défaut. Elle est spécifique à chaque base de données. Note : Cette option n’a pas d’effet sur les transactions effectuées dans le moteur SQL de 4D. Les transactions SQL sont toujours multi-niveaux.
Mode Unicode : permet d’activer ou de désactiver le mode Unicode pour la base courante. En mode Unicode, le moteur de la base de données, le langage et les menus manipulent nativement les chaînes de caractères en Unicode. En mode non-Unicode (aussi appelé mode compatibilité ASCII), le jeu de caractères ASCII est utilisé. Cette option permet de préserver la compatibilité des bases converties. Elle est cochée par défaut pour les bases créées avec 4D v11 et suivantes et désélectionnée dans les bases converties. Notes :
Cette option est spécifique à chaque base de données. Il est donc possible de faire cohabiter une base Unicode avec des composants non Unicode (ou inversement) en mode interprété.
Il est également possible de configurer le mode Unicode à l’aide de la commande FIXER PARAMETRE BASE.
Les spécificités de la prise en charge d’Unicode dans 4D sont détaillées dans le manuel Langage. Pour plus d'informations, reportez-vous à la section Codes ASCII.
Définir le point et la virgule comme caractères d'emplacement dans les formats numériques : à compter de la version 11, 4D utilise les paramètres système régionaux pour les formats d’affichage numériques (cf. “Formats numériques” dans la section Formats d'affichage). 4D substitue les caractères “,” et “.” dans les formats d’affichage des numériques par, respectivement, le séparateur des milliers et le séparateur décimal définis dans le système d’exploitation. Le point et la virgule sont alors considérés comme des caractères d’emplacement, à l’instar du 0 ou du #. Dans les versions précédentes de 4D, les formats d’affichage des numériques ne tenaient pas compte des paramètres régionaux du système. Par exemple, le format “###,##0.00” est un format valide pour un système américain. Toutefois, lorsqu’il est appliqué à une valeur numérique affichée sur un système français ou suisse, le résultat est incorrect. Dans les bases de données converties, par souci de compatibilité, le nouveau mécanisme n’est pas actif. Pour en bénéficier, vous devez cocher cette option.
Affectation automatique des variables : dans les versions précédentes de 4D, un mécanisme standard du serveur Web permettait de recopier automatiquement dans des variables process 4D la valeur des variables postées via un formulaire HTTP ou un URL de type GET. En mode interprété, la valeur de toute variable reçue était directement copiée dans une variable process 4D du même nom ; en mode compilé, les variables devaient être pré-déclarées dans une méthode projet COMPILER_WEB. A compter de 4D v13.4, ce mécanisme est obsolète et n'est plus disponible dans les nouvelles bases de données. Par compatibilité, il est maintenu dans les bases de données converties mais il est alors possible de le désactiver en désélectionnant cette option de compatibilité. Il est désormais recommandé d'utiliser les commandes dédiées WEB LIRE VARIABLES ou WEB LIRE PARTIE CORPS.
PROPRIÉTÉS
Produit : 4D
Thème : Propriétés de la base
Nom intl. : Compatibility page