11 Alexandria - Release 3

De RAD Studio
Aller à : navigation, rechercher

Remonter à Accueil

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

Une mise à jour de RAD Studio 11.3 Athens est disponible (27 février 2023).

Remarque:

Principales améliorations de 11.3 pour chaque partie du produit

RAD Studio 11 Alexandria - Release 3 (aussi appelé 11.3) est disponible pour l'installation. RAD Studio 11.3 permet aux utilisateurs de personnaliser l'apparence et le comportement de l'éditeur de code avec la nouvelle version de ToolsAPI. Ils peuvent également utiliser la fonctionnalité d'affichage en surbrillance des correspondances dans l'éditeur de code. De plus, la version 11.3 introduit un nouveau composant, Biometric Authentication (Authentification biométrique), à destination des plates-formes mobiles ainsi que des améliorations relatives à la qualité et aux performances dans Delphi LSP et d'autres bibliothèques de RAD Studio.

Les améliorations de RAD Studio 11.3 sont fortement axées sur la qualité. Les principales améliorations de qualité se répartissent comme suit :

Plus un certain nombre de nouvelles fonctionnalités :

Améliorations de l'EDI

Prise en charge de ToolsAPI pour l'éditeur de code

RAD Studio 11.3 offre un ensemble complet d'interfaces ToolsAPI que les utilisateurs peuvent utiliser pour personnaliser l'éditeur de code (opérations Paint, requêtes d'informations sur l'éditeur et son contenu, événements, etc.).

Des plugins très pratiques et intéressants fonctionnent désormais depuis l'éditeur. C'est pourquoi RAD Studio vise à offrir un ensemble complet d'API avec des fonctionnalités qui permettent une utilisation étendue de l'éditeur de code aussi bien en termes de présentation que d'utilisation des données. Non seulement vous disposez d'une API officielle totalement prise en charge pour des plugins qui nécessitaient auparavant des ajustements, mais vous pouvez écrire de nouveaux plugins qui seront directement intégrés dans l'éditeur de code. C'est une API si puissante que nous avons déplacé plusieurs fonctionnalités de l'éditeur. Nous espérons que cette nouvelle API stimulera l'innovation et permettra aux développeurs de créer des plugins et des modules qui accélèrent la productivité. Nous sommes impatients de découvrir vos innovations.

Ces API permettent aux utilisateurs d'intercepter tous les stades de l'affichage dans l'éditeur (ligne de l'éditeur, gouttière, texte). Des événements sont appelés avant et après chaque stade pour que les éléments créés viennent s'ajouter à ce que existe déjà dans l'EDI ou viennent remplacer des éléments existants.

Les utilisateurs peuvent lancer des requêtes sur l'état de l'éditeur (une multitude d'informations sont disponibles) ou bien lancer des requêtes sur l'état de chaque ligne. Les événements Paint incluent le contexte entier. Utilisez-les pour les opérations Paint dans l'éditeur ou pour obtenir des informations sur les éditeurs et les éléments qu'ils contiennent, même sans opération Paint.

La nouvelle unité ToolsAPI comprend une documentation sur les classes, les méthodes, et les propriétés. Explorez et commencez à utiliser la nouvelle API :

Nous encourageons vivement les développeurs à utiliser ces nouvelles interfaces pour les plugins tierces parties et les addons qui sont dessinés dans l'éditeur de code.

Affichage en surbrillance des correspondances dans l'éditeur de code

L'éditeur de code de RAD Studio est doté de nouvelles fonctionnalités qui vous permettent de visualiser en surbrillance les occurrences du mot sélectionné ou sur lequel le curseur est positionné. Toutes les correspondances apparaissent, y compris celles situées dans les commentaires. De plus, la fonctionnalité propose les options suivantes :

  • Mise en surbrillance des occurrences lorsqu'un mot est sélectionné (double-cliquez pour sélectionner un mot).
  • Mise en surbrillance des mots lorsque le curseur est sur mot ou s'il est adjacent à ce mot. Les utilisateurs peuvent désactiver la fonctionnalité si besoin.
  • Désactivez l'affichage en surbrillance des correspondances en utilisant l'option de l'interface utilisateur prévue à cet effet. Cette option est activée par défaut.

LSP Delphi

La release 11.3 de RAD Studio est axée sur la qualité et la résolution des problèmes ayant été signalés dans des releases précédentes.

Les améliorations de Delphi LSP sont essentiellement axées sur la qualité. Des problèmes majeurs ont été résolus. Vous trouverez aussi des ajouts :

  • La fenêtre HelpInsight utilise une méthode différente pour calculer sa taille et s'adapte beaucoup mieux à son contenu.
  • Le pointage avec la souris au-dessus d'une implémentation de méthode statique fonctionne correctement.
  • La navigation Ctrl+Clic gauche fonctionne correctement avec un fichier en lecture seule.
  • L'appui sur Entrée depuis une méthode anonyme incomplète ne provoque plus l'insertion d'un point virgule incorrect (“end;”).
  • Un problème lié à la navigation Ctrl-Clic a été corrigé (il y avait un dysfonctionnement lorsque la zone de destination était entourée par des directives du compilateur). L'analyseur peut maintenant traiter des directives de compilation conditionnelle simples comme :
{$IF CompilerVersion > 24 and Defined(Windows)}
Remarque: Cela n'affecte pas l'analyse des directives dans la clause uses lorsque des unités sont ajoutées par l'EDI - un système non-DelphiLSP est utilisé dans ce cas.
  • Le code complétant les types génériques à l'intérieur d'une déclaration de méthode générique fonctionne maintenant, cela concerne à la fois le type de résultat et l'intérieur de la déclaration de type <> générique.
function Test<TResult>(a: T): TResult; // TResult now suggested in both places.
  • DelphiLSP ne pouvait pas déterminer le chemin du code source d'un module si au moins deux fichiers portaient le même nom dans différents projets. Ce problème a été résolu.
  • L'achèvement de code ne fonctionnait pas dans une instruction "if" qui utilisait les symboles < ou > dans ses conditions.
  • Lors de l'achèvement d'une déclaration de type, les types privés déclarés dans ce type apparaissent maintenant dans l'achèvement de code.

Subversion

A compter de cette release, RAD Studio n'est plus livré avec les DLL Subversion. Pour utiliser Subversion, vous devez donc l'installer. Tout comme pour Git et Mercurial, l'EDI recherche les emplacements précédemment configurés. Cela signifie que la version de Subversion n'est pas corrélée à la version de l'EDI et peut être mise à jour séparément.

Prise en charge High DPI de l'EDI, du concepteur de fiche VCL et améliorations de qualité

Cette release propose des améliorations pour la mise à l'échelle des composants non visuels, y compris les cadres. Voici les principales améliorations :

  • La position des composants non visuels était incorrecte lors de la migration de la pré-version 11 de RAD Studio vers une version 11.x.
  • Lorsque la mise à l'échelle de la fiche et la mise à l'échelle système changent, les composants non visuels gardent la bonne position et sont correctement mis à l'échelle.
  • La taille de fonte affectait la mise à l'échelle des cadres en mode High DPI, tout particulièrement lorsque le concepteur était exécuté en faible résolution. Ce problème a été résolu.

Autres améliorations de l'EDI

  • Les utilisateurs peuvent maintenant créer un nouveau fichier Markdown en utilisant Fichier > Nouveau
  • Lorsque l'EDI est exécutée avec des privilèges élevés, elle le signale en affichant ‘[Administrateur]’ sur la barre de titre.
  • Pour localiser le fichier de sortie de la configuration de build actuelle dans l'explorateur, cliquez avec le bouton droit sur la configuration de build et choisissez Afficher dans l'explorateur.
  • Les icônes de flux structuraux de l'éditeur (les icônes en lien avec le code indiquant les renvois de méthode, les ruptures de flux de contrôle ou les déplacements) ont été remplacées par des versions haute résolution de ces icônes.
  • L'opacité du texte désactivé dans l'éditeur (ifdef-ed out) peut maintenant être modifiée via une option dans la page Editeur > Chercher.
  • La taille de fonte des conseils affichés dans le concepteur de VCL a été améliorée.
  • Les icônes relatives aux flux SyncEdit et Structure dans l'éditeur ont été remplacées par des icônes haute résolution.
  • La boîte de dialogue Nouveaux éléments avait un problème avec les options "Copier" / "Hériter" / "Utiliser" après un changement de vue. Ce problème a été résolu.
  • Les chemins incorrects n'étaient pas affichés en gris dans les boîtes de dialogue de sélection des chemins. Ce problème est maintenant résolu.
  • Des problèmes de stabilité relatifs à l'utilisation d'une fenêtre d'un éditeur secondaire ont été résolus.
  • Les fichiers Markdown peuvent maintenant être ouverts simultanément dans plusieurs fenêtres d'édition sans que cela ne provoque l'affichage de messages d'erreurs dans la vue Structure.

Améliorations relatives aux compilateurs et aux chaînes d'outils (Delphi et C++)

RAD Studio 11.3 comporte des améliorations de qualité pour la plupart des compilateurs livrés avec RAD Studio.

Compilateur Delphi

La release 11.3 corrige plusieurs problèmes relatifs au compilateur, parmi lesquels :

  • Améliorations relatives au traitement de Delphi LSP et aux performances.
  • Des corrections relatives aux enregistrements managés et aux problèmes liés aux génériques et aux contraintes ont été apportées.
  • Améliorations Codegen et corrections.
  • Une régression provoquant un affichage erroné du nombre de total de lignes dans la boîte de dialogue Progression de la compilation a été résolue. Ce problème se produisait lors de la construction de Spring4D.

Chaîne d'outils et compilateur C++

RAD Studio 11.3 comporte des corrections visant à améliorer la qualité :

  • Il est maintenant possible d'utiliser le suffixe de bibliothèque $(Auto) pour les projets C++.
  • Un problème lié à l'utilisation d'un nom erroné lors du contrôle de dépendance des bibliothèques a été résolu (la bibliothèque était reconstruite sans que cela ne soit nécessaire).

Débogueurs

Le débogueur LLDB pour Linux a été reconstruit avec Ubuntu 18.x et Python 3.7.x pour satisfaire les exigences minimales. Des problèmes de fonctionnement sur macOS et Linux ont également été corrigés dans cette release.

  • Dans 11.3, toutes les plates-formes non-Windows ont été déplacées dans LLDB. En conséquence, GDB n'est plus supporté.
  • Les spécificateurs de formatage sont pris en charge dans l'évaluation des expressions pour LLDB.
  • Les problèmes liés au rattachement des processus et au chargement des symboles avec LLDB ont été résolus.
  • Des problèmes relatifs à Android32 concernant l'évaluation des ensembles et des expressions lors du basculement vers LLDB ont été résolus.
  • Nouvelles versions de PAServer.
  • Les utilisateurs peuvent effectuer un détachement d'un programme en utilisant le débogueur C++ Win64.
  • L'option "Range" '(Etendue) de l'Inspecteur est maintenant disponible pour les tableaux.
  • Android64 prend en charge la possibilité de nommer les threads.

Améliorations concernant les bibliothèques

RAD Studio 11.3 comprend des améliorations et des corrections de qualité dans l'ensemble des bibliothèques, Delphi RTL, C++ RTL, VCL, FireMonkey, FireDAC, DB RTL, les bibliothèques client HTTP et les serveurs HTTP. Les principales modifications sont présentées dans cette section.

RTL Delphi

La release 11.3 apporte les améliorations suivantes pour la RTL Delphi.

  • Etant donné que l'implémentation sous-jacente du realloc C-AOI, le gestionnaire de mémoire natif Android, a été modifiée dans les versions 12 et 13 d'Android, RAD a modifié la logique de pré-allocation (256 octets sont ajoutés pour chaque changement de longueur pour les tableaux Dynamic et String si l'empreinte mémoire est supérieure à 64K octets) afin de pré-allouer plus que nécessaire et réduire ainsi les appels de réallocation au système d'exploitation et les opérations de copie s'y rapportant.
Remarque: Si le code que vous avez écrit requiert beaucoup de mémoire, il serait pertinent de revoir la logique de votre app.
  • La fonction RTL système Move a été optimisée en vue d'obtenir des performances supérieures avec des CPU modernes et de s'exécuter 2 à 5 fois plus vite, selon la famille CPU et le nombre de bits.
  • La bibliothèque ZLib a été mise à jour en version 1.2.13.
  • Les performances de _InitializeRecord ont été améliorées.
  • Les performances de TDirectory.GetFiles ont été améliorées pour de nombreux fichiers.

VCL

La release 11.3 apporte les améliorations suivantes pour la VCL.

  • Le composant TControlList VCL offre maintenant la possibilité de sélectionner plusieurs éléments utilisant les nouvelles propriétés et événements suivants :
  • Des problèmes de mise à l'échelle dans les contrôles TDBGrid, TComboBox et TStringGrid entre autres ont été résolus, ainsi que des problèmes de changement de DPI dans plusieurs composants comme les contrôles TListView, TComboBox, et TStringGrid. Par ailleurs, le comportement général a été amélioré lorsque la propriété Scaled d'une fiche vaut False.
  • Des régressions relatives à TBalloonHint ont été corrigées.
  • Le code StyleHook a été amélioré pour éviter des violations d'accès.
  • Des améliorations graphiques ont été apportées au composant TreeView lors de la mise à l'échelle et des améliorations de rendu des objets graphiques ont aussi été apportées à d'autres contrôles.
  • Un conflit entre le correcteur orthographique et les menus déroulants personnalisés a été résolu dans le contrôle TRichEdit.
  • La saisie a été améliorée dans les NumberBox avec une valeur minimale active.
  • Meilleure prise en charge des contrôles TControlList comportant un très grand nombre d'éléments (virtuels).
  • Un problème lié au placement et à la taille du bouton de la barre de titre personnalisée, y compris la taille du canevas et la marge gauche du libellé, a été résolu.

FireMonkey

RAD Studio 11.3 propose un nouveau composant, TBiometricAuth qui fournit la possibilité de s'authentifier de façon biométrique (Face ID, empreinte digitale) sur les périphériques Android et iOS.

Remarque: Pour Android, le composant TBiometricAuth est actuellement uniquement pris en charge sur Android 10 ou les versions ultérieures.

Utilisez TBiometricAuth depuis la palette de composants pour définir les propriétés de votre choix. Si vous créez votre application pour Android, assurez-vous que des valeurs ont été définies pour les propriétés relatives aux invites comme PromptDescription et PromptTitle. Par ailleurs, assurez-vous de définir les valeurs attendues pour la propriété BiometricStrengths. Vous pouvez aussi créer des gestionnaires de code pour les événements OnAuthenticateSuccess ou OnAuthenticateFail afin de traiter ce qui peut se passer dans ces situations.

Explorez et commencez à utiliser la nouvelle API :

La release 11.3 apporte les améliorations suivantes pour FireMonkey.

  • Ajout d'un nouveau service d'interface IFMXPhoneDialerListenerService qui fait le suivi des changements d'état du service système du téléphone (Calls, Carrier, CallState).
Remarque: Pour Android uniquement. Afin de pouvoir faire un suivi des appels téléphoniques, les utilisateurs doivent demander la permission android.permission.READ_PHONE_NUMBERS.

Une fois l'accès accordé par l'utilisateur, une requête de service est envoyée et la méthode Start est invoquée. Sinon, l'utilisateur doit expliquer pourquoi cette permission est requise.

La méthode Stop doit être appelée pour mettre fin au suivi des appels.
  • Les apps FireMonkey gèrent maintenant correctement les requêtes de terminaison depuis le Gestionnaire de redémarrage de Windows.
  • macOS ARM 64 a été ajouté à Radiant Shapes.
  • Amélioration de la prise en charge de l'accessibilité Firemonkey pour Windows lors de l'inspection de code avec les insights d'accessibilité et résolution d'une violation d'accès dans FMX.ScreenReader.Win.pas.
  • Plusieurs améliorations ont été apportées à TWebBrowser pour la plate-forme Windows, y compris la disponibilité d'apps 3D FMX et l'implémentation de TCustomWebBrowser.CaptureBitmap pour Edge.
  • Des améliorations de traduction sur la plate-forme iOS ont été apportées pour le bouton Terminé de VirtualKeyboard d'iOS et les boutons sélecteurs d'iOS, le défilement iOS a été corrigé pour TDateEdit, TTimeEdit, TComboBox, et TiOSAddressBook.SaveContact.
  • Prise en charge de DocumentFile Provider pour Android.
  • Des améliorations Android ont été apportées pour le déplacement du curseur avec le doigt dans un TMemo depuis un TAddressBook.
  • Améliorations Windows avec TForm Cursor, TWinMultiDisplay.FindDisplay.
  • Des améliorations graphiques FireMonkey ont été apportées dans TBitmap.AssignFromSurface, TCanvas.TransformRect, TBitmap.Canvas.BeginScene, et des lignes d'artifacts ont été supprimées dans TMemo et TGridPanelLayout.
  • Des améliorations et corrections ont été apportées pour de nombreux contrôles, dont les contrôles Multiview (avec un type de contrôle équivalent à la plate-forme), SpeedButton (isPressed pour une utilisation dans TFrame), Label (FocusControl), TTreeViewItem IsChecked, et TEdit qui fonctionne correctement depuis un composant TVertScrollBar.
  • ClipChildren prend désormais en compte XRadius et YRadius.
  • Des améliorations ont été apportées pour la navigation via la touche Tab pour passer de contrôle en contrôle.

Données

La release 11.3 apporte les améliorations suivantes pour la bibliothèque de données.

  • Support préliminaire d'UTF8 dans la RTL des bases de données (TStringField), FireDAC ODBC, DatS, et DataSet pour une meilleure prise en charge des pilotes ODBC sur Linux.
  • FireDAC fournit des performances PostgreSQL améliorées. Un nouveau paramètre de connexion PostgreSQL est disponible : FastFetchMode=Choose|Default|All|First, qui peut avoir les valeurs suivantes :
    • Choose - laisse FireDAC choisir l'optimisation recherchée. C'est la valeur par défaut.
    • Default - FireDAC n'effectue pas d'optimisation. Mode antérieur.
    • All - FireDAC optimise toujours l'extraction des résultats pour terminer l'extraction de tous les enregistrements.
    • First - FireDAC optimise toujours l'extraction des résultats pour terminer l'extraction du premier enregistrement.
  • Meilleure mise à l'échelle High-DPI pour les options de l'éditeur TFDQuery et pour la fonte de l'éditeur de requête.
  • Ajout d'une version correcte de la bibliothèque client MongoDB pour permettre la connexion à un serveur MongoDB et bénéficier d'une nouvelle fonctionnalité relative aux transactions.
  • TBindingExpression est devenu insensible à la casse.
  • La compatibilité des pilotes FireDAC avec PostgreSQL version 14 et version 15.1 a été vérifiée.
  • Ajout d'une nouvelle configuration NCharReplacement pour les connexions à FireDAC Oracle et prise en charge de q['...'] “NCHAR String Literal Replacement”.

Bibliothèque client REST et HTTP

RAD Studio 11.3 offre les améliorations suivantes pour les bibliothèques HTTP et REST :

  • La propriété TMultipartContentParser évite de traiter chaque partie en considérant que le type de contenu est "fichier".
  • Ajout du rafraîchissement automatique des tokens à TOAuth2Authenticator afin d'améliorer la prise en charge de l'authentification des services Google REST et l'expiration des tokens d'accès TOAuth2Authenticator.
  • Meilleure prise en charge des NestedElements dans TRESTResponseDataSetAdapter.
  • Meilleure prise en charge de l'utilisation des certificats clients avec les composants REST sur Android.
  • RAD Server, la fonctionnalité LIST du composant TEMSDataSetResource renvoie maintenant des dates correctement formatées dans la structure JSON.
  • Résolution d'une fuite mémoire dans une application SOAP Server lors de l'utilisation d'une pièce jointe.

Autres améliorations

RAD Studio 11.3 propose un nouveau processus de notarisation pour macOS introduit par Apple depuis XCode 14. De plus, la signature Windows prend maintenant en charge l'horodatage des fichiers MSIX.

Voir aussi