12 Athens - Release 1

De RAD Studio
Aller à : navigation, rechercher

Remonter à Accueil

Remonter à Nouveautés des releases précédentes

Release RAD Studio 12.1 Athens mise à jour le XX mars 2024

Remarque:

RAD Studio 12 Athens - Release 1 (aussi appelé 12.1) est disponible. RAD 12.1 repose sur les fonctionnalités de RAD Studio 12 et inclut de nouvelles fonctionnalités ainsi que des améliorations de fonctionnalités existantes.

Les améliorations de RAD Studio 12.1 sont fortement axées sur la qualité, tout en incluant des améliorations notables dans la chaîne d'outils C++ et l'EDI. Les principales améliorations de qualité et de fonctionnalités se répartissent comme suit :

  • Chaîne d'outils Clang C++
  • Fractionnement de l'éditeur
  • EDI
  • Débogueur
  • API Android cible niveau 34
  • VCL
  • VA
  • Compilateur Delphi
  • Autres bibliothèques

Principales améliorations de 12.1

Chaîne d'outils Clang C++

La mise à jour de la chaîne d'outils Clang pour Win64 a été intégrée dans l'EDI de RAD Studio 12.1.

=link

C'est une toute nouvelle chaîne d'outils totalement intégrée à l'EDI en tant que plate-forme. Elle inclut le nouveau compilateur Clang 15, le lieur LLVM lld, libc++ STL, le runtime UCRT C, etc.

La chaîne d'outils est livrée avec la plate-forme Win64 existante, et prend en charge des bibliothèques VCL et FMX, des DLL, des bibliothèques statiques et des applications console ; cliquez avec le bouton droit sur Plates-formes cible dans l'EDI et ajoutez Win64 (Moderne).

Quelles actions pouvez-vous effectuer ?

La chaîne d'outils est prête à l'emploi pour vos tests d'applications VCL et FMX. L'EDI étant totalement intégrée, les bonnes options sont envoyées au pilote du compilateur et au lieur. Vous n'avez pas besoin de recourir à des solutions de contournement et d'utiliser les indicateurs de la ligne de commande du compilateur.

Vous devez toutefois savoir que, quels que soient les paramètres définis pour vos packages dynamiques, vos apps effectueront une liaison dynamique des packages.

=link

L'image ci-dessus affiche un exemple de l'app FireMonkey Mazes (depuis notre Github) utilisant la nouvelle chaîne d'outils Clang.

Limitations

  • Certaines bibliothèques telles que SOAP ne sont pas incluses dans cette chaîne d'outils. Cela a été effectué dans l'objectif de réduire la matrice de tests et de se concentrer sur les bibliothèques les plus utilisées pour la qualité. Vous trouverez ci-dessous la liste complète des packages/bibliothèques disponibles.
  • Les packages (comme la VCL, etc.) sont liés statiquement avec votre app. RAD Studio 12.1 ne permet pas d'effectuer une consommation dynamique des packages, ce qui signifie qu'il n'y a pas de liaison dynamique avec les fichiers BPL distribués en côte à côte avec l'EXE dans 12.1. Les éléments contenus dans les packages sont statiquement liés à l'EXE quels que soient les paramètres définis pour l'option Packages d'exécution dans Options de projet.
  • Création de packages développés en C++. Actuellement, RAD Studio 12.1 ne prend en charge que les packages développés en Delphi.

Informations importantes

Système de fichiers virtuel

L'EDI gère un système de fichiers virtuel (VFS) qui permet de créer un projet ou un fichier, de modifier un fichier existant, et de le compiler et de l'exécuter sans l'enregistrer sur votre disque.

Auparavant, nos chaînes d'outils comportaient des versions DLL du compilateur et du lieur à cet effet, et se connectaient au système de fichiers virtuel de l'EDI. Dans 12.1, la nouvelle mise à jour de Clang utilise l'overlay du système de fichiers virtuel de Clang.

Les fichiers VFS temporaires sont supprimés par défaut après la compilation. Désactivez ce comportement dans Projet Options > Compilateur C++ > Avancées et décochez l'option Supprimer les fichiers VFS temporaires après la compilation.

POSIX et autres méthodes RTL

RAD Studio n'a jamais été totalement en conformité avec les standards des méthodes RTL de Windows. Il fournissait à la place de nombreuses versions POSIX et des fonctions RTL personnalisées. Certaines de ces fonctions ne sont plus fournies.

Compatibilité avec les standards C++

RAD Studio utilise libc++ version 15.0. Vérifiez la conformité avec les standards C++ sur les pages suivantes :

Remarque: La prise en charge de la bibliothèque Format a été introduite dans libc++ 16. En conséquence, elle n'est pas encore prise en charge dans RAD Studio 12.1. (Malgré qu'elle n'ait pas été testée, la bibliothèque {fmt} fonctionne bien.) D'autres éléments comme Parallelism TS, l'opérateur spaceship, etc, sont en libc++. Toutefois, l'utilisation de cette version n'est pas encore documentée

.

Packages et bibliothèques

Le nouveau lieur lld est beaucoup plus rapide (environ 4 fois plus rapide) que ilink. Il gère facilement des tailles de fichiers plus importantes. En conséquence, la liaison dynamique n'est pas une solution de contournement obligatoire pour réduire le temps de liaison ou la mémoire du lieur.

La consommation dynamique de packages est importante pour des raisons architecturales, et la liaison dynamique des packages d'exécution de Delphi sera mise à jour dans une future version de Rad Studio.

La liste des bibliothèques incluses et non incluses se trouve sur la page de documentation des packages.

Fractionnement de l'éditeur

RAD Studio 12.1 prend en charge l'affichage de vues fractionnées de l'éditeur dans l'EDI. Vous pouvez afficher dans une même fenêtre plusieurs éditeurs côte à côte, au-dessus, et en dessous les uns des autres, ou une combinaison de ces possibilités. Vous pouvez faire glisser des onglets vers des fenêtres flottantes et les ramener ensuite dans l'EDI.

Les vues fractionnées de l'éditeur sont implémentées dans RAD Studio de manière avancée. En effet, elles vous permettent d'effectuer des personnalisations complexes et de multiples manipulations. Vous pouvez par exemple avoir plusieurs dispositions : disposition sur deux colonnes, sur plusieurs colonnes, sur plusieurs lignes, ou une disposition adaptée à votre flux de travail.

Il est possible d'ouvrir plusieurs onglets d'édition d'une même unité. D'autre part, le concepteur de fiches peut être ouvert dans un onglet, et plusieurs onglets affichant une même unité peuvent être ouverts en même temps. Cela inclut la possibilité de déplacer l'onglet qui affiche le concepteur. Il n'y a aucune limite quant au nombre d'éditeurs fractionnés, horizontalement ou verticalement.

Utilisation du fractionnement de l'éditeur

Vous pouvez accéder à la vue Fractionnement de l'éditeur en cliquant avec le bouton droit sur un onglet et en choisissant Fractionner > ou Déplacer >. Le fractionnement crée une nouvelle version de l'onglet sélectionné, et le déplacement provoque son ouverture à l'endroit sélectionné dans l'EDI.


=link


Vous pouvez alternativement utiliser le fractionnement de l'éditeur en faisant glisser un fichier depuis la vue Projet vers un éditeur ouvert afin d'ouvrir ce fichier dans l'onglet d'un groupe d'onglets.

Lorsque deux onglets sont dans une fenêtre, chacun a une barre de titre. Vous pouvez :

  • Faire glisser un onglet de l'éditeur, ou un ensemble d'onglets, en faisant glisser la barre de titre et l'ancrer dans n'importe quelle fenêtre de l'EDI.
  • Le faire glisser et l'ancrer sur n'importe côté de l'éditeur (gauche, droit, haut, bas).
  • Le fusionner avec un ensemble d'onglets en le faisant glisser au centre d'un éditeur existant, y compris une fenêtre flottante d'onglets.
  • Le faire glisser en dehors de sa propre fenêtre (soit un seul onglet ou un ensemble d'onglets).

La plupart des opérations peuvent être réalisées sur des onglets individuels. Il peut s'agir par exemple de déplacer un onglet entre un ensemble d'onglets ancrés en faisant glisser l'onglet individuel d'un emplacement à un autre.

Chaque ensemble d'onglets peut être déplacé à l'extérieur de sa propre fenêtre. Faites glisser la barre de titre pour le déplacer. (Appuyez sur Ctrl tout en le faisant glisser pour vous assurer qu'il ne s'ancre pas, et afin de le rendre flottant.)

De la même façon, chaque fenêtre peut être ancrée à côté d'un autre ensemble d'onglets. Pour cela, vous devez faire glisser la barre de titre.

Remarque: La plupart des éditeurs/groupes disparaissent de la vue lorsqu'ils sont fermés. Toutefois, la fermeture du premier éditeur (celui qui était auparavant l'éditeur de la fenêtre principale) avec le bouton ‘X’ provoque la fermeture de tous les onglets qu'il contient. L'espace qu'il occupait reste ouvert, car l'éditeur original ne peut pas être fermé. Cela n'a aucune incidence tant que les groupes d'onglets ne sont pas fermés. Il n'y a aucun impact visible lorsque vous créez, déplacez ou ancrez les onglets dans vos tâches.

Concepteur et code

Les éditeurs fractionnés permettent d'éditer le même fichier dans deux fenêtres affichées côte à côte. Dans ce cas, les éditeurs affichent le contenu du même fichier. Lorsque vous tapez dans une fenêtre, les modifications de contenu sont reflétées dans l'autre fenêtre.

Vous pouvez faire défiler les deux fenêtres indépendamment l'une de l'autre, ce qui vous permet d'effectuer des modifications de contenu à des endroits différents. Le même fichier peut être affiché dans un nombre quelconque d'onglets.

Remarque: N'oubliez pas qu'il n'y a qu'un seul fichier (module ou tampon de fichier) ouvert dans plusieurs vues de l'éditeur. Ainsi, une modification apportée à l'un des éditeurs se reflète dans l'autre éditeur. Il est bon de savoir que la modification apportée dans l'un des éditeurs n'est pas "copiée" ou "dupliquée" mais le contenu du fichier est modifié de façon cohérente dans toutes les vues.</br> En d'autres termes, lorsque vous modifiez un fichier dans un éditeur, les modifications sont apportées au fichier lui-même et elles sont répercutées dans les autres fenêtres d'édition de ce fichier.

Focalisation

L'une des améliorations de RAD Studio porte sur la focalisation. Dans les versions antérieures à RAD Studio 12.1, la fenêtre qui a la focalisation est affichée en bleu vif, qu'il s'agisse d'une fenêtre ancrée ou d'un onglet de l'éditeur.

Dans la nouvelle version, la même technique s'applique aux éditeurs multiples. Toutefois, la barre de titre du groupe d'onglets et l'onglet spécifique sont en bleu foncé afin de mettre la focalisation en évidence.

Les groupes d'éditeurs qui ne contiennent pas l'éditeur ayant la focalisation ont une barre de titre reconnaissable par son fond plus clair, et leurs onglets principaux (ceux qui auraient la focalisation si le groupe était actif) sont affichés en gris, marquant ainsi le fait qu'ils n'ont pas la focalisation.

Ancrage et dispositions

Depuis 12.1, RAD Studio vous permet de déplacer et d'ancrer des volets comme l'inspecteur d'objets à l'endroit de votre choix. En pratique, cela signifie qu'il y a peu de différences entre les fenêtres ancrables (l'inspecteur d'objets, la vue Structure, etc.) et des groupes d'éditeurs et/ou des éditeurs ancrables, ce qui vous permet de créer des dispositions puissantes adaptées à vos besoins.

Une disposition de bureau comprend l'ensemble des éditeurs ouverts (ainsi que les groupes d'éditeurs, leur emplacement, leur point d'ancrage, etc.) plus les volets ancrables d'ancien style, et plusieurs fenêtres, chacune pouvant contenir plusieurs onglets.

La configuration des éditeurs doit être enregistrée en tant que disposition de bureau, sinon vous risquez de la perdre.

De plus, la configuration change au fur et à mesure que des modifications sont apportées à la disposition du bureau, comme lorsque l'EDI affiche une disposition de débogage suite au lancement d'un débogage. Lorsque la disposition change, n'importe quel groupe d'onglets (il peut aussi s'agir d'un onglet individuel qui serait ancré séparément) n'ayant pas un emplacement défini dans la disposition activée est désancré et devient une fenêtre flottante.

Améliorations de l'EDI

Achèvement de code Delphi LSP

RAD Studio 12.0 contient maintenant une fonctionnalité d'achèvement de code qui permet d'afficher automatiquement l'achèvement de code au fur et à mesure que vous tapez du code. Cette fonctionnalité pré-DelphiLSP fournit une liste de suggestions utiles (elle apparaissait auparavant uniquement suite à l'utilisation du point ou lorsqu'elle était invoquée manuellement).

Toutefois, du fait de son affichage automatique lorsque vous tapiez du code, son affichage compliquait parfois la saisie de choses spécifiques, comme de nouveaux noms de variables, car ils n'auraient pas été suggérés du fait qu'ils n'étaient pas connus. De plus, l'achèvement de code acceptait le premier élément après un appui sur Espace, remplaçant ce qui avait été écrit.

RAD Studio version 12.1 a amélioré cette fonctionnalité. Ainsi, lorsque la fonction Invocation automatique est activée et que l'achèvement de code apparaît automatiquement, l'appui sur Tab et Entrée accepte la suggestion en cours. D'autres touches comme Espace, l'accolade ouverte, le point, etc. ,ne fonctionnent pas. Cela signifie que l'acceptation d'une suggestion est maintenant effectuée de façon intentionnelle lorsque l'invocation automatique est activée, ce qui évite les achèvements de code accidentels.

Lorsque l'achèvement de code est invoqué normalement, ces touches acceptent ce qui est suggéré, comme dans 11.3 et les versions antérieures. Cela signifie que le comportement est inchangé lorsque l'achèvement est invoqué normalement.

La fonctionnalité Invoquer automatiquement étant désactivée par défaut, vous devez l'activer manuellement. Consultez la documentation pour en savoir plus sur cette fonctionnalité et sur le nouvel onglet Audit de code.

Débogueur

Dans la version 12.1, tous les débogueurs autres que Delphi Win32, Delphi Win64, et C++ Win32 utilisent LLDB 15. La mise à niveau de Clang utilise le même débogueur.

Les versions antérieures utilisaient LLDB 12 pour ces plates-formes et ont été mises à jour.

API Android cible niveau 34

RAD Studio version 12.1 supporte l'API Android niveau 34. Ce changement nécessite des modifications dans les outils du SDK Android, dans certains outils de plate-forme Android, ainsi qu'une mise à jour du runtime Java. Voici quelques détails supplémentaires :

  • La version 12.1 s'installe désormais dans le cadre des fonctionnalités de plate-forme et recommande d'effectuer l'installation d’Éclipse Temurin JDK OpenJDK 17 (Hotspot) JVM.
  • La version 12.1 intègre une mise à jour des outils en ligne de commande des composants du SDK Android à partir de l'installation par défaut du SDK Android.
  • L'attribut par défaut du manifeste targetSdkVersion est maintenant 34.

RAD Studio 12.1 affiche des performances largement améliorées pour la création de fichier .apk car la version 12.1 tire parti des bibliothèques zipflinger et signflinger de Google dans l'outil en ligne de commande du Packager. Voici les améliorations relatives à la création de packages Android :

  • Les opérations DEX Android (compilation DEX et fusion DEX) s'effectuent maintenant de façon incrémentale (elles sont uniquement déclenchées lorsque les fichiers d'entrée sont considérés comme obsolètes par rapport aux fichiers de sortie).
  • La version 12.1 intègre une migration de l'ancien système de build désormais obsolète, l'outil en ligne de commande Google AAPT, vers le nouvel outil de AAPT2 de Google.
  • L'outil en ligne de commande AAPT2 de Google est maintenant utilisé pour compiler les fichiers ressource Android et les packager en un fichier .zip contenant le fichier manifest et la table de ressource Android.
  • Le nouvel outil en ligne de commande Packager place les fichiers ressource packagés, les bibliothèques natives, les fichiers d'actifs et les fichiers .dex dans le fichier .apk final ou le fichier du module de base.

Améliorations de qualité

VCL

  • Le composant VCL TEdit fonctionne maintenant correctement avec le nouveau curseur texte favorisant l'accessibilité dans les versions récentes de Windows. Cela résout donc les problèmes d'accessibilité dans l'EDI. L'utilisation de JAWS dans l'EDI devrait donc fonctionner par défaut.
  • Des améliorations ont été apportées à NumberBox concernant l'utilisation de valeurs négatives.
  • L'état ProgressBar est maintenant pris en charge avec les styles VCL.

Visual Assist pour C++

  • Un problème de mise en cache dans VA suite à la fermeture d'un fichier non enregistré a été résolu.
  • Les gestionnaires d'événement peuvent maintenant être renommés.
  • Les composants peuvent maintenant être renommés dans le concepteur, ce qui n'était pas possible dans 12.0.
  • L'achèvement de code fonctionne maintenant correctement sur les propriétés d'objets.
  • Les résultats de l'achèvement de code n'affichent plus de valeurs inattendues.
  • Un problème de non-déclenchement de l'achèvement de code a été résolu.
  • Un problème de non-fonctionnement de VA avec les bibliothèques tierces parties a été résolu.
  • L'achèvement automatique de la directive #include du préprocesseur avec < et “” a été corrigé et devrait fonctionner correctement.
  • Des améliorations mineures relatives aux menus de l'interface utilisateur ont été apportées.

Autres bibliothèques

RAD Studio 12.1 comporte les améliorations suivantes pour les fonctionnalités relatives aux bases de données :

  • L'éditeur TIBDataSet (IBX) a été amélioré.
  • FireDAC prend désormais en charge Firebird version 5. Cela inclut la prise en charge des opérations parallèles dans TFDFBBackup pour Firebird 5.
  • FireDAC prend désormais en charge PostgreSQL version 16.
  • Les dernières versions de IBToGo et IBLite (alignées sur InterBase 2020 Update 5) fonctionnent désormais sur Android.

Dans FireMonkey, 12.1 comprend les améliorations suivantes :

  • Sur macOS, les bitmaps transparents enregistrés en format non transparent se comportent comme sur Windows (ce qui signifie que la couleur transparente devient noire).

Concernant les fonctionnalités relatives à Internet, 12.1 inclut les éléments suivants :

  • TRestClient prend en charge l'utilisation de certificats depuis la liste de machines locales et pas uniquement depuis la liste de l'utilisateur en cours.
  • Prise en charge de la syntaxe de couleur hexadécimale web dans StringToColor.
  • Possibilité pour le débogueur REST de copier des valeurs des cellules de tableau.
  • Possibilité de changer le nom d'utilisateur des utilisateurs de RAD Server.

Voir aussi