Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20
Fonctionnalités obsolètes ou supprimées
|
Fonctionnalité | Remplacée par | Statut dans la version courante de 4D |
PDFCreator Driver | PDF driver natif de Windows | Obsolète |
Non-conformité avec la notation objet | Vérifier la conformité et activer l'option de comptabilité Utiliser la notation objet | Supprimée |
Variables interprocess | Collections et objets partagés, Storage | Obsolète |
4D ODBC Pro | ODBC/SQL Pass through intégré ou API 4D REST | Supprimée |
4D for OCI sur macOS | ODBC/SQL Pass through intégré ou API 4D REST | Supprimée |
Pilote ODBC de 4D sur macOS | API 4D REST | Supprimée |
Commandes Internet 4D - Mail | Transporteurs (IMAP, SMTP, POP3), Objets Email | Obsolète |
Commandes Internet 4D - Transfert de fichiers | System workers | Obsolète |
Formulaires utilisateurs | Formulaires dynamiques | Obsolète |
Affectation dynamique des variables reçues via HTTP (option de compatibilité pour les bases créées dans une version antérieure à v13.4) | Commande WEB LIRE VARIABLES (pour restaurer les variables). Commandes WEB LIRE PARTIE CORPS/WEB Lire nombre parties corps (pour restaurer les fichiers postés) | Obsolète |
Sous-tables converties | Utiliser tables N->1 | Obsolète |
APIs fichiers et dossiers sur Mac | Chemin vers objet, Objet vers chemin | Obsolète |
Actions standard basées sur des codes | Modèles de chaînes (constantes "ak" du thème Action standard) | Obsolète |
Ressources Mac | Utilisez le dossier "Resources". A des fins de compatibilité, vous pouvez toujours l'utiliser dans les bases converties. Nous ne prenons plus en charge les commandes d'accès en écriture. | Base de données OS (icônes cicn: supprimées.). Les fichiers RSR ne s'ouvrent plus automatiquement. Vous devez utiliser Ouvrir fichier ressources. |
Gestion de la priorité CPU | N/A | Obsolète |
Ancienne couche réseau | Utiliser ServerNet | Obsolète |
4D Mobile | ORDA et serveur REST | Obsolète |
Explications sur les valeurs de la colonne "Statut" :
Chaque commande obsolète est préfixée par "_o_" et ne figure plus dans la liste 4D (éditeur de code, fonctionnalité d'auto-complétion, etc.). Les commandes obsolètes (ou dépréciées) ne seront pas supprimées du code existant et continueront de fonctionner normalement, tant qu'elles sont prises en charge. Il est possible (mais non recommandé) d'ajouter une commande obsolète dans une méthode en saisissant simplement son nom préfixé de "_o_" ; elle sera interprétée correctement.
Commande | Remplacée par | Obsolète depuis |
Thème Environnement 4D : | ||
_o_LISTE SEGMENTS DE DONNÉES | - | v11 |
Thème Sauvegarde : | ||
_o_INTEGRER FICHIER HISTORIQUE | INTEGRER FICHIER HISTORIQUE MIROIR | v16 |
Thème Compilateur : | ||
_o_TABLEAU ALPHA | TABLEAU TEXTE | v12 |
_o_C_GRAPHE | (utiliser SVG avec la commande GRAPHE) | v12 |
_o_C_ENTIER | C_ENTIER LONG | v12 |
_o_C_ALPHA | C_TEXTE (si la base est en Unicode) | v12 |
Thème Saisie des données : | ||
_o_AJOUTER SOUS ENREGISTREMENT | AJOUTER ENREGISTREMENT dans la table n d'une relation N->1 | v12 |
_o_MODIFIER SOUS ENREGISTREMENT | MODIFIER ENREGISTREMENT dans la table n d'une relation N->1 | v12 |
Thème Glisser-Déposer : | ||
_o_PROPRIETES GLISSER DEPOSER | Les commande du thème Conteneur de données | v17 R4 |
Thème Evénements formulaire : | ||
_o_Pendant | Remplacer par Evenement formulaire code et l'événement approprié | v12 |
Thème Formulaires : | ||
_o_FORM LIRE PARAMETRE | Désactivée | v17 R4 |
Thème Graphiques : | ||
GRAPHE (à l'aide de 4D Graph Area) | Utiliser une image SVG | v12 |
Thème Listes hiérarchiques : | ||
_o_REDESSINER LISTE | Supprimer dans le code (ne fait rien depuis la v11) | v11 |
Thème List Box : | ||
Constantes LISTBOX Lire propriete : | ||
_o_lk affichage barre déf hor/_o_lk affichage barre déf ver | OBJET LIRE BARRES DEFILEMENT | v16 R3 |
_o_lk hauteur pied | LISTBOX Lire hauteur pieds | v16 R3 |
_o_lk hauteur entête | LISTBOX Lire hauteur entetes | v16 R3 |
_o_lk position barre déf hor/_o_lk position barre déf ver | OBJET LIRE DEFILEMENT | v16 R3 |
Thème Objets (Formulaires) : | ||
_o_OBJET Lire action | OBJET Lire action | v16 R3 |
_o_OBJET FIXER COULEUR | OBJET FIXER COULEURS RVB | v18 |
Thème Images : | ||
_o_IMAGE VERS GIF | IMAGE VERS BLOB | v16 R5 |
Thème Impression : | ||
_o_UTILISER PARAMETRES IMPRESSION | FIXER OPTION IMPRESSION, LIRE OPTION IMPRESSION, Paramètres impression vers BLOB, BLOB vers paramètres impression | v18 |
Thème Sélection : | ||
_o_MOBILE Renvoyer sélection | ORDA | v18 |
Thème SQL : | ||
_o_UTILISER BASE EXTERNE | SQL LOGIN | v12 |
_o_UTILISER BASE INTERNE | SQL LOGOUT | v12 |
Thème Chaîne : | ||
_o_Mac vers Windows | v11 | |
_o_Windows vers Mac | v11 | |
Thème Sous-enregistrements : toutes les commandes | Remplacer “nnn SUBRECORD” et “nnn SUBSELECTION” par une action sur l'enregistrement N ou la sélection N de la table N dans une relation N->1 | v12 |
Thème Documents Systeme : | ||
_o_Type document | Chemin vers objet | v12 |
_o_Createur document | Chemin vers objet | v16 R6 |
_o_CHANGER TYPE DOCUMENT | Objet vers chemin | v16 R6 |
_o_CHANGER CREATEUR DOCUMENT | Objet vers chemin | v16 R6 |
_o_ASSOCIER TYPES FICHIER | Utiliser des UTIs et Info.plist | v16 R6 |
Thème Environnement Système : | ||
_o_Nom de police | Utiliser des identificateurs de police | v14 |
La commande OBJET FIXER POLICE n'accepte plus le paramètre Entier Long pour la police : ce paramètre est désormais une Chaîne et vous devez indiquer le nom de la police. | ||
_o_Gestalt | Lire information systeme / Sur macOS / Sur Windows | v17 |
_o_PROPRIETES PLATE FORME | Lire information systeme / Sur macOS / Sur Windows | v17 |
Thème Formulaires Utilisateur : | ||
_o_CREER FORMULAIRE UTILISATEUR | Formulaires dynamiques | v17 R4 |
_o_SUPPRIMER FORMULAIRE UTILISATEUR | Formulaires dynamiques | v17 R4 |
_o_MODIFIER FORMULAIRE | Formulaires dynamiques | v17 R4 |
_o_LISTE FORMULAIRES UTILISATEURS | Formulaires dynamiques | v17 R4 |
Thème Web Server : | ||
_O_WEB Lire nombre process session | Utiliser les sessions évolutives | v18 R6 |
Commandes Internet 4D : | ||
Commandes POP3 Review Mai | Classe POP3Transporter | v18 |
Commandes SMTP Send Mail | Classe SMTPTransporter | v18 R6 |
Commandes IMAP Review Mail | Classe IMAPTransporter | v19 |
Commandes Downloaded Mail | Classe IMAPTransporter, Classe POP3Transporter | v19 |
Commandes File Transfer | Classe SystemWorker | v20 |
Une liste alphabétique de ces commandes peut être consultée dans l'annexe Commandes obsolètes de 4D - Langage.
À partir de 4D v20, la conformité du code de votre base de données avec la notation objet est obligatoire. Si vous essayez de convertir une base de données dans laquelle l'option Utiliser la notation objet pour accéder aux propriétés de l'objet est encore décochée (mode de compatibilité, voir Page Compatibilité), 4D affichera une boîte de dialogue qui vous permet d'activer temporairement l'option pour pouvoir ouvrir la base de données. Vous devez quand même cocher l'option explicitement pour l'activer de manière permanente -- il est toutefois recommandé de vérifier la compatibilité de l'application au préalable à l'aide du MSC.
Si vous cliquez sur Annuler ou si la base de données ne permet pas l'accès au mode développement (base de données compilée, pas d'accès en conception...), l'erreur -10537 est générée et la base de données ne s'ouvre pas.
Note : Le mode de compatibilité n'était disponible que dans les bases de données binaires.
Le PDFCreator driver est obsolète à partir de 4D v20. Les versions de Windows 10 et supérieures incluent un PDF driver natif. La constante du nom de l'imprimante PDFCreator a été renommée _o_PDFCreator Nom imprimante.
Plusieurs modules PHP ont été supprimés de l'interpréteur PHP inclus dans 4D v20, la plupart d'entre eux parce qu'ils ne sont plus nécessaires ou obsolètes : DOM (Document Object Model), Iconv, LibXML, LibXSLT, SimpleXML, GD (Graphics Draw) Library, XML (eXtensible Markup Language), XMLreader, XMLwriter, WDDX (Web Distributed Data eXchange), Zlib, Zip. Si votre application utilise un module retiré, vous devrez peut-être utiliser les commandes 4D appropriées ou un interpréteur FastCGI-php externe. Pour plus d'informations, veuillez consulter la section Prise en charge des modules PHP.
Depuis 4Dv 19 R4, en raison de la prise en charge de l'opérateur ternaire, le caractère "deux-points" ou " :" n'est plus autorisé dans les noms de variables, de champs, constantes, fonctions, plugins et méthodes projet.
A partir de 4D v19, le plug-in 4D ODBC Pro n'est plus disponible sur l'ensemble des plateformes. Nous recommandons d'utiliser le pass-through intégré ODBC/SQL (voir SQL LOGIN et Présentation des commandes du thème SQL) ou l'API REST 4D pour gérer les fonctionnalités de connectivité ODBC/SQL.
À partir de 4D v19, le plug-in 4D for OCI n'est plus disponible sur macOS. Nous recommandons d'utiliser le pass-through intégré ODBC/SQL (voir SQL LOGIN et Présentation des commandes du thème SQL) ou l'API REST 4D pour gérer les fonctionnalités de connectivité sur cette plateforme.
À partir de 4D v19, le pilote ODBC de 4D n'est plus disponible sur macOS. Nous recommandons d'utiliser l'API 4D REST pour l'accès aux données externes sur cette plateforme.
L'option de stockage dans un fichier de données externes n'est plus prise en charge pour les champs de type objet (voir Stocké dans l'enregistrement, dans le fichier de données, en dehors du fichier de données). Si cette option a été sélectionnée pour un champ objet, elle est automatiquement convertie en Dans le fichier de données et utilisé pour les nouveaux enregistrements. Les données existantes dans les champs objet sont réécrites de manière transparente au nouvel emplacement lorsque l'enregistrement parent est enregistré. Si vous souhaitez étendre ce mode aux enregistrements existants, vous devez compacter les données avec l'option "Forcer la mise à jour des enregistrements".
Les variables interprocess tirent leur révérence et deviennent désormais obsolètes. L'utilisation de variables interprocess est déconseillée dans les projets 4D car elles ne sont pas utilisables dans les process préemptifs et ne sont pas adaptées à la manipulation de valeurs complexes telles que les tableaux, les objets ou les collections (non partagés) provenant de plusieurs process simultanés. De plus, elles ont tendance à rendre le code moins facile à maintenir. Pour partager les valeurs des objets et des collections entre les process, nous vous recommandons d'utiliser les collections et objets partagés et/ou la commande Storage.
A partir de 4D Write Pro v19 R4, vous pouvez gérer les sauts de ligne. Pour éviter toute confusion avec les sauts de paragraphe et les sauts de page dans un tableau, tous les sauts sont désormais gérés par des constantes et des actions standard dédiées (voir Attributs 4D Write Pro et Utiliser les actions standard 4D Write Pro). La précédente constante générique (_o_wk page break inside) et la précédente action standard (avoidPageBreakInsideEnabled) sont obsolètes et prises en charge uniquement pour des raisons de compatibilité.
A partir de 4D v17 R4, les formulaires utilisateurs sont obsolètes. Pour proposer des interfaces utilisateurs personnalisables, il est désormais recommandé d'utiliser des formulaires dynamiques (voir Formulaires dynamiques dans 4D - Mode Développement). Toutes les commandes du thème "Formulaires utilisateurs" sont obsolètes.
Les formulaires utilisateurs sont encore pris en charge pour des raisons de compatibilité, mais ils ne doivent plus être utilisés. Ils seront retirés des futures versions.
Dans les versions précédentes de 4D, le serveur Web recopiait automatiquement la valeur des variables envoyées via un formulaire Web ou une URL dans des variables 4D lorsqu'elles avaient le même nom.
Pour des raisons d'optimisation et de contrôle, ce principe n'est plus maintenu à compter de 4Dv14 : la valeur des variables Web n'est plus automatiquement affectée aux variables 4D. La récupération des variables envoyées via un POST ou un GET doit s'effectuer exclusivement à l'aide de la commande WEB LIRE VARIABLES. Les fichiers postés devront, eux, être récupérés à l'aide des commandes WEB LIRE PARTIE CORPS et WEB Lire nombre parties corps.
Note : L'affectation dynamique est également désactivée par défaut dans les bases 4D créées à compter de la version 13.4.
Par compatibilité, ce mécanisme est toutefois maintenu par défaut dans les bases de données créées avec une version de 4D antérieure à la 13.4. Dans ce cas, l'option de compatibilité Affectation automatique de variables sur la page Compatibilité des Propriétés de la Base, permet de le désactiver.
Ce mécanisme étant obsolète, il est fortement recommandé de désélectionner cette option dans vos bases converties (et d'adapter votre code si nécessaire) afin de faciliter leurs évolutions futures.
Depuis plusieurs versions, 4D déconseille fortement aux développeurs d'utiliser des sous-tables, et depuis 4D v11, il n'est plus possible de créer un champ de type sous-table. Les sous-enregistrements ont de nombreuses limitations. Par exemple, ils sont toujours chargés en mémoire et ils ne sont pas gérés par la commande ENVOYER ENREGISTREMENT ou DUPLIQUER ENREGISTREMENT.
Nous n'envisageons pas de supprimer définitivement les sous-tables dans un futur proche (notez cependant qu'elles ne sont pas prises en charge dans les projets 4D), mais il est vraiment temps pour les développeurs de convertir leurs sous-tables en tables standard avec une relation N<->1, car cette suppression sera effective dans une future version majeure de 4D. Les développeurs qui utilisaient les sous-tables pour des raisons de performances (comme dans certaines situations spécifiques où le chargement des enregistrements liés était lent) peuvent être rassurés : depuis 4D v12 notamment, l'utilisation des relations classiques N<->1 est très rapide.
Fondamentalement, il y a deux façons principales de supprimer des sous-tables (note : les explications suivantes sont juste un rapide aperçu ; consultez la documentation ou les notes techniques pour plus d'informations) :
"Changer le code partout où c'est nécessaire" signifie essentiellement :
Note : Depuis 4D v14 R3, vous pouvez affecter la valeur du champ spécial "id_added_by_converter" automatiquement ajouté par 4D lors de la conversion d'une base de données depuis une version antérieure à la v11. Jusqu'alors, cette valeur pouvait uniquement être affectée par 4D, ce qui obligeait les développeurs à utiliser des commandes obsolètes comme _o_CRÉER SOUS ENREGISTREMENT pour pouvoir ajouter des enregistrements dans les sous-tables converties. Avec cette nouvelle possibilité, vous pouvez convertir vos anciennes bases comportant des sous-tables d'une manière progressive : vous pouvez conserver le lien spécial "Lien sous-table", tout en ajoutant ou en modifiant des enregistrements liés comme s'ils étaient standard. Une fois que toutes vos méthodes auront été mises à jour, vous pourrez remplacer le lien spécial par un lien normal sans changer votre code.
A compter de 4D v16 R6, les APIs de gestion des fichiers et des dossiers basées sur Mac OS 9 sont obsolètes dans 4D. Ces APIs sont déclarées obsolètes par Apple depuis plusieurs années.
Les commandes 4D s'appuyant sur ces anciennes APIs ont été renommées : _o_Type document, _o_Createur document, _o_CHANGER TYPE DOCUMENT, _o_CHANGER CREATEUR DOCUMENT et _o_ASSOCIER TYPES FICHIER. Ces commandes sont maintenues par compatibilité, mais sont obsolètes et ne doivent plus être utilisées.
4D inclut deux nouvelles commandes de gestion des chemins d'accès et des extensions de fichiers : Chemin vers objet et Objet vers chemin.
L'architecture interne des actions standard a été entièrement revue dans 4D v16 R3. Ces actions sont désormais basées sur des chaînes de caractères et prennent en charge des paramètres (pour plus d'informations, veuillez vous reporter à la section Actions standard).
Dans les applications converties, les actions standard sont redirigées de façon transparente vers la nouvelle architecture. Cependant, dans le langage de 4D, les actions standard étaient auparavant basées sur des valeurs numériques (codes). Ce fonctionnement est désormais obsolète et ne doit plus être utilisé :
Il s'agit d'une autre ancienne technologie Mac OS, obsolète depuis Mac OS X 10.4 (Tiger, 2005). Les ressources sont utilisées pour stockées des données structurées comme du texte ou des chaînes (pour la localisation), des icônes, etc. En fait, il faut dire que ce ne sont pas les ressources en elles-mêmes qui sont obsolètes, mais leur support sur disque, connues en tant que ResourceFork. La ResourceFork est une partie d'un fichier système Mac OS, et depuis la sortie de Mac OS X, Apple cherche à supprimer ce support car il n'est pas compatible avec les autres systèmes (Unix, Windows) et il est source de beaucoup de problèmes lorsque des fichiers sont transférés par réseau.
Sous Windows, ce mécanisme est émulé et les ressources Mac résident dans le fichier .RSR.
Mais même s'il existe encore des APIs pour gérer les ressources (et Mac OS gère de façon transparente les ressources stockées dans la DataFork), il n'est plus recommandé d'utiliser cet ancien mécanisme pour plusieurs raisons :
Nous avons supprimé le support des commandes qui permettent d'écrire/créer des ressources.
La grande majorité des applications 4D utilisant des ressources utilisent en fait des ressources de type "Listes de chaînes", des STR#. 4D fournit les outils pour déplacer aisément les STR# vers du XLIFF :
Pour les autres types de ressources :
Produit : 4D
Nom intl. : Deprecated or Removed Features
Fonctionnalités obsolètes ou supprimées ( 4D v20)