Notes de release

De RAD Studio
Aller à : navigation, rechercher

Remonter à Nouveautés


Ces notes de release contiennent des informations importantes qui peuvent ne pas apparaître dans la documentation principale du produit. Nous vous recommandons de lire cette page en entier.

Sommaire

Installation, désinstallation et mise à niveau de RAD Studio

Avant d'installer, de désinstaller ou de mettre à niveau le produit, lisez les fichiers suivants, pour la langue de votre choix (xx en, de, fr ou ja) :

  • radstudio_install_xx.htm : contient les exigences système ainsi que les procédures d'installation et de mise à niveau.
  • radstudio_license_xx.rtf : c'est votre contrat de licence logicielle et de support.
  • radstudio_deploy_xx.htm : contient des informations sur le déploiement.

Consultez la version la plus récente du fichier radstudio_install_xx.htm, disponible aux emplacements suivants :

  • Notes d'installation.
  • Le répertoire d'installation. L'emplacement par défaut est : C:\Program Files (x86)\Embarcadero\Studio\20.0

Versions précédentes et migration

RAD Studio inclut des licences pour les versions antérieures

Les licences des versions antérieures du produit sont incluses avec votre licence 10.3 Rio.

  • Delphi 10.3 Rio inclut les licences pour Delphi Tokyo, Berlin, Seattle, XE8, XE7, XE6, XE5, XE4, XE3, XE2, XE, 2010, 2009, 2007, et 7.
  • C++Builder 10.3 Rio inclut les licences pour C++Builder Tokyo, Berlin, Seattle, XE8, XE7, XE6, XE5, XE4, XE3, XE2, XE, 2010, 2009, 2007, et 6.

Pour de plus amples informations sur les licences, consultez le fichier radstudio_license_xx.rtf dans le répertoire d'installation de RAD Studio.

Mise à niveau des projets à l'ouverture

Dans RAD Studio 10.3 Rio, lorsque vous ouvrez un projet créé avec une version précédente de RAD Studio, RAD Studio effectue automatiquement la mise à niveau du projet. Une fois mis à niveau, les projets ne sont plus compatibles avec les versions précédentes de RAD Studio.

Vous devez toujours créer une sauvegarde de votre projet avant de l'ouvrir avec une nouvelle version de RAD Studio.

Mise à niveau à partir de Delphi 7

Si vous effectuez la mise à niveau d'un projet créé dans Delphi 7 ou dans une release antérieure, et que le projet contient une extension de fichier personnalisée, vous devez choisir Projet > Options > Application et définir l'extension du fichier cible afin qu'elle corresponde au type de votre projet (.exe, .dll ou .bpl).

Problèmes de l'installateur GetIt sur des VM Single-Core Win 7

Si vous installez Delphi, C++Builder ou RAD Studio 10.3 sur une machine virtuelle Single Core fonctionnant sous Windows 7 et que vous rencontrez une erreur lors de l'installation Web de GetIt, passez à un mode multi-coeur et redémarrez l'installateur.

Windows

Les DLL exportent des méthodes RTL

Lors de la liaison d'une application 64 bits avec la bibliothèque d'importation d'une DLL dans le Gestionnaire de projets, la bibliothèque est placée sur la ligne de commande du lieur, connectant ainsi le lieur au symbole __CPPdebugHook dans la bibliothèque d'importation de la DLL, plutôt qu'avec son propre symbole RTL interne. Pour éviter ce comportement, liez la bibliothèque d'importation en utilisant #pragma link ou #pragma comment et retirez la référence à la bibliothèque d'importation dans le Gestionnaire de projets. Cela oblige le lieur à consulter les symboles dans la bibliothèque d'importation à la fin de l'opération, et à effectuer la liaison avec le symbole __CPPdebugHook correct dans sa propre RTL.

Problèmes lors de la reconstruction d'un MSBuild pour la deuxième fois

Lorsqu'un MSBuild est reconstruit pour la deuxième fois avec ou sans fichier ressource supplémentaire, c'est lors de l'étape clean de la reconstruction qu'il est décidé si la version du fichier ressource de projet fera l'objet du build.

Pour empêcher que cela se produise, effectuez un clean suivi d'un build :


> msbuild /t:clean project.cbproj

> msbuild /t:build project.cbproj

Linux

Exigences relatives à la version Apache

Delphi for Linux prend en charge Apache 2.4. La version 2.2 n'est pas prise en charge.

Le message d'erreur PAServer affiché sur Ubuntu Server 16.04 LTS est incorrect

L'activation de Utiliser l'application de lancement dans la boîte de dialogue Exécuter|Paramètres utilise xterm comme application de lancement par défaut pour les cibles Linux. Lors de l'exécution de PAServer sur Ubuntu Server 16.04 LS, un message d'erreur indique qu'un fichier ne peut pas être créé. Ce message d'erreur est incorrect car le problème réside dans le fait qu'il ne peut pas lancer xterm sur Ubuntu Server 16.04 LTS. Xterm peut être installé séparément et fait partie des distributions client d'Ubuntu.

FireMonkey

Des noms doivent être assignés à tous les composants avant de créer une nouvelle vue dans le Concepteur de fiches

Si vous ouvrez une ancienne app FireMonkey dans 10.3 Rio, vous pouvez rencontrer le message d'erreur suivant :

 Cannot inherit from form 'FormName".  It contains a component with a blank name property.

Le nouveau système Héritage des vues nécessite l'affectation d'un nom à tous les composants avant de créer une nouvelle vue dans le Concepteur de fiches.

Les apps iOS peuvent ne pas se fermer ou s'ouvrir correctement si elles ont été exécutées sans débogage sur le périphérique

Si vous exécutez votre app iOS sans débogage préalable, puis que vous détruisez le processus de votre application, vous devrez exécuter la commande de réinitialisation de PAServer pour exécuter le processus à l'extérieur de l'EDI ; tapez 'r' à l'invite de commande de PAServer.

Débogage sur un iPhone XS

Le débogage d'une application sur un iPhone XS n'est pas actuellement pris en charge. Le déploiement et l'exécution sur ces périphériques fonctionnent.

Développement macOS Mojave

Le lancement d'une application avec débogage sur Mojave n'est pas actuellement pris en charge. La solution de contournement consiste à l'attacher à une application exécutée une fois celle-ci démarrée.

Pour cela, procédez comme suit :

  1. Choisissez Exécuter > Exécuter sans débogage ou cliquez sur le bouton de la barre d'outils Exécuter sans débogage. Cela lance l'application.
  2. Choisissez Exécuter > Attacher au processus...
  3. Dans la boîte de dialogue Attacher au processus :
  • Assurez-vous de sélectionner Distant sur le côté gauche.
  • Sélectionnez Débogueur Embarcadero macOS 32 bits dans la zone de liste déroulante Débogueur.
  • Cliquez sur le bouton ‘...’ face au champ Hôte distant et sélectionnez le profil de connexion pour la plate-forme macOS 32 bits.
  • Sélectionnez dans la liste des processus exécutés l'application que vous voulez déboguer.

Le SDK macOS 10.14 ne prend plus en charge les applications 32 bits. Il est toujours possible de construire des apps avec le SDK 10.14 dans Delphi, car Delphi résout les symboles sans s'appuyer sur le SDK. Toutefois, cela n'est pas possible avec C++Builder et vous devez utiliser le SDK 10.13 pour les applications C++Builder.

Si vous souhaitez développer des applications macOS 32 bits avec le SDK macOS 10.13 sur un Mac fonctionnant sous Mojave, vous devez installer XCode 9.x. Nous recommandons d'installer à la fois Xcode 9 et Xcode 10. Vous pouvez passer de l'un à l'autre en utilisant xcode-select :

sudo xcode-select -s <xcode 9.x app>/Contents/Developer/

FireDAC

Utilisation des packages d'exécution avec le pilote DataSnap de FireDAC dans C++

Si vous utilisez le pilote DataSnap de FireDAC dans les applications C++ 64 bits construites avec des packages d'exécution, il se peut que vous receviez une erreur au moment de l'exécution. Pour éviter cette erreur, vous devez ajouter DataSnapClient aux packages d'exécution, en procédant comme suit :

  1. Projet > Options > Packages > Packages d'exécution.
  2. Dans le champ Bibliothèques d'importation des packages d'exécution, ajoutez DataSnapClient à la liste.

Le problème est résolu et DataSnapClient.bpi est ajouté à la ligne de lien au lieu de DataSnapClient.a.

Une application C++ Windows 64 bits comportant un composant FireDAC peut déclencher une erreur

L'erreur suivante est déclenchée lors d'une tentative de compilation d'une application utilisant un seul composant FireDAC sur la plate-forme Windows x64 lorsque la liaison statique est activée :

c:\program files (x86)\embarcadero\studio\<n.n>\Bin\CodeGear.Cpp.Targets : warning : Warning: Out of memory
c:\program files (x86)\embarcadero\studio\<n.n>\Bin\CodeGear.Cpp.Targets(2751,5): error MSB6006: "ilink32" exited with code 2.

La solution consiste à ne pas lier FireDAC de façon statique dans les apps Win64 C++.

Désactivation de DBX Enterprise dans l'explorateur de bases de données

Suite à un problème, le chargement de pilotes de base de données DBExpress Enterprise dans l'explorateur de bases de données est désactivé par défaut. L'explorateur de bases de données liste actuellement l'ensemble des pilotes FireDAC dont vous disposez ainsi que les pilotes DBExpress dans l'édition Professional. Ce problème sera corrigé dans une prochaine version.

Les composants DBExpress restent disponibles dans l'EDI et les applications utilisant DBExpress fonctionnent comme attendu car le problème est limité à la fenêtre de l'explorateur de base de données.

Base de données

Repopulation des ensembles de données

La repopulation d'un ensemble TClientDataSet ou TFDMemTable peut être plus lente que prévu. Pour contourner ce problème, nous avons ajouté une nouvelle méthode EmptyDataLink à TBindSourceDB.

Android

Problèmes de chemin JDK

A cause d'un bogue (EN) du JDK (Java Development Kit), le chemin de déploiement d'un projet ne doit pas contenir de caractères non ASCII pour la plate-forme cible Android.

Etapes relatives à l'installation du SDK/NDK Android

L'installation du SDK/NDK Android n'est pas complète. Vous pouvez au choix ouvrir SDK Manager.exe et vérifier que les options de téléchargement appropriées sont sélectionnées ou utiliser (de préférence) une installation silencieuse via la ligne de commande :

  • Ouvrez l'invite de commande et accédez à :
C:\Users\Public\Documents\Embarcadero\Studio\20.0\CatalogRepository\AndroidSDK-2525_20.0.32429.4364\tools
  • Entrez la commande :
android.bat update sdk --no-ui --all --filter platform-tools,build-tools-28.0.2,android-26

Pour vérifier la bonne exécution de ces étapes, ouvrez le Gestionnaire de SDK dans RAD Studio (Outils > Options > Déploiement > Gestionnaire de SDK), sélectionnez Android SDK 25.2.5 32 bits dans la zone de liste Versions SDK et cliquez sur l'onglet SDK dans la page Propriétés. Les liens SDK doivent être corrects. Ils sont suivis d'une icône représentant un point d'exclamation si les fichiers auxquels ils font référence sont toujours manquants.

Etapes supplémentaires de configuration du SDK Android pour C++Builder

Dans la version configurée automatiquement du SDK, il manque un paramètre qui évite l'apparition d'une erreur dans le fichier en-tête string.h. Pour y remédier, ouvrez l'EDI de RAD Studio et suivez les étapes ci-dessous :

  1. Accédez à Fichier > Tout fermer
  2. Accédez à Outils > Options > Déploiement > Gestionnaire de SDK.
  3. Sélectionnez Android SDK 25.2.5 32 bits dans la zone de liste Versions SDK et cliquez sur Supprimer.
  4. Dans cette fenêtre, cliquez sur Ajouter....
  5. Dans la boîte de dialogue Ajouter un nouveau SDK, choisissez Android dans la liste déroulante Sélectionner une plate-forme et Ajouter nouveau... dans la liste déroulante Sélectionner une version SDK. La boîte de dialogue Créer un nouveau SDK Android s'ouvre.
  6. Localisez le chemin de base du SDK Android et le chemin de base du NDK Android dans les répertoires racine suivants, selon votre installation :
  • Installation Web / GetIt : c:\Users\Public\Documents\Embarcadero\Studio\20.0\CatalogRepository
  • Installation locale ou depuis un fichier ISO : c:\Users\Public\Documents\Embarcadero\Studio\20.0\PlatformSDKs

Chaînes d'outils C++

Résolution des déclarations multiples pour DWORD ou ULONG dans les applications macOS

Dans une application multi-périphérique compilée pour la plate-forme cible macOS, E2238 peut se produire car les en-têtes macOS iodbcunix.h et sqltypes.h déclarent des instructions typedef pour DWORD et ULONG, et le fichier sysmac.h de C++Builder qui est inclus par System.hpp fournit également des typedef similaires. Voir E2238 pour une solution de contournement.

Spécification des packages dépendants et requis lors de l'utilisation d'un composant dans un package C++

Lors de l'utilisation d'un composant existant dans un package C++, l'EDI n'ajoute pas automatiquement le package dépendant (requis) du composant. Vous devez effectuer cette étape manuellement.

En l'absence des packages dépendants (requis) nécessaires, la liaison du package C++ échouera, car le lieur ne pourra pas localiser les fichiers .obj qui doivent être initialisés lors de l'utilisation du composant. Pour éviter ces erreurs du lieur, vous devez ajouter le package du composant et ses dépendances au noeud Requiert de votre package C++ (dans le Gestionnaire de projets).

L'exemple suivant illustre comment déterminer les packages requis pour un composant et éliminer les erreurs du type Impossible d'ouvrir 'xxx.obj du lieur en créant une application Fiches VCL factice qui utilise le composant.

Par défaut, une nouvelle application multi-périphérique C++ est liée avec les packages .rtl et .fmx, comme le montrent les fichiers *.bpi listés sur la ligne de liaison (visible dans Voir > Messages) :

Ligne de commande ilink32 :

c:\BDSLoc\bin\ilink32.exe ... -aa -V5.0 -Tpe  c0wfmx32w rtl.bpi fmx.bpi memmgr.lib sysinit.obj .\Win32\Debug\Project30.obj .\Win32\Debug\Unit26.obj , .\Win32\Debug\Project30.exe , .\Win32\Debug\Project30.map , import32.lib cp32mti.lib , , Project30.res

Lorsque vous ajoutez de nouveaux composants, l'EDI détermine les packages dépendants et ajuste la ligne de liaison. Pour voir ce comportement, ajoutez le composant que vous voulez utiliser dans un package C++ à la fiche multi-périphérique. Cet exemple utilise le composant TFDSchemaAdapter. Reconstruisez maintenant l'application. Constatez que plusieurs nouveaux fichiers .bpi ont été ajoutés à la ligne de liaison :

Ligne de commande ilink32 :

c:\BDSLoc\bin\ilink32.exe ... -aa -V5.0 -Tpe  c0w32w rtl.bpi fmx.bpi FireDACCommonDriver.bpi FireDACCommon.bpi xmlrtl.bpi dbrtl.bpi FireDAC.bpi FireDACSqliteDriver.bpi memmgr.lib sysinit.obj .\Win32\Debug\Project30.obj .\Win32\Debug\Unit26.obj , .\Win32\Debug\Project30.exe , .\Win32\Debug\Project30.map , import32.lib cp32mti.lib , , Project30.res

Ces nouveaux fichiers .bpi sont les packages dont votre composant dépend. Dans le cas de TFDSchemaAdapter, les fichiers .bpi sont les suivants :

FireDACCommonDriver.bpi FireDACCommon.bpi xmlrtl.bpi dbrtl.bpi FireDAC.bpi FireDACSqliteDriver.bpi

Ainsi, afin d'utiliser le composant TFDSchemaAdapter dans un package C++, vous devez ajouter explicitement chacun de ces fichiers bpi en tant que référence 'Requiert' dans l'EDI (voir Packages (Delphi)).

Téléchargement des fichiers d'en-tête DirectX

Nous fournissons uniquement les en-têtes DirectX à l'intérieur du Microsoft Windows Platform SDK. Si vous rencontrez des erreurs telles que "Fichier d3d.h non trouvé", le HPP généré pour cette unité Delphi contient #include <D3D*.hpp>. Effectuez l'une des opérations suivantes :

  • Ajoutez une directive {$NOINCLUDE Winapi.D3DX9} à l'unité qui utilise l'unité D3D et régénérez le fichier HPP de cette unité. Le HPP régénéré ne contiendra pas #include <Winapi.D3DX9.hpp>.
  • Téléchargez le DirectX SDK sur lequel est basé l'en-tête D3D. Vous pouvez télécharger gratuitement le DirectX SDK depuis le site de Microsoft. Pour plus d'informations, voir Where is the DirectX SDK? (Windows) (EN).

EDI

Dans le Concepteur de fiches multi-périphérique, la suppression d'un composant ne peut s'effectuer qu'à partir de la vue maître

Lorsque vous essayez de supprimer un composant, tel que le composant TButton, à partir d'une autre vue (pas la vue maître), le message d'erreur suivant apparaît :

 Selection contains a component, Button1, introduced in an ancestor and cannot be deleted

La solution consiste à supprimer le composant de la vue maître. Pour plus d'informations sur les vues, voir Concepteur de fiches.

Un projet iOS renommé peut échouer à l'exécution ou au débogage

Le fait de renommer un projet dans l'EDI peut provoquer l'échec d'une app iOS à l'exécution ou au débogage. Pour corriger le problème, procédez comme suit :

  1. Sélectionnez Projet > Déploiement.
  2. Dans le Gestionnaire de déploiement, cliquez sur le bouton Revenir aux valeurs par défaut.

Héritage des paramètres d'informations de version

Pour inclure des informations de version dans un projet ciblant Windows, ne changez pas les valeurs clés sur la cible Toutes les plates-formes. Changez individuellement les valeurs de chaque plate-forme (32 bits et 64 bits). Les cibles n'héritent pas correctement des valeurs à partir de la cible Toutes les plates-formes.

InterBase

InterBase 2017 Edition dans RAD Studio 10.3 Rio

Cette note concerne les utilisateurs ayant installé une version antérieure de RAD Studio et RAD Studio 10.3 Rio sur la même machine. Dans cette note, la mention de RAD Studio inclut implicitement les éditions Delphi et C++Builder.

Chaque version de RAD Studio inclut une licence pour une version d'InterBase :

Produit Version d'InterBase
RAD Studio XE3 InterBase XE3 Developer Edition
RAD Studio XE4 InterBase XE3 Developer Edition
RAD Studio XE5 InterBase XE3 Developer Edition
RAD Studio XE6 InterBase XE3 Developer Edition
RAD Studio XE7 InterBase XE3 Developer Edition
RAD Studio XE8 InterBase XE7
RAD Studio XE9 InterBase XE7
RAD Studio Berlin InterBase XE7
RAD Studio Tokyo InterBase XE7
RAD Studio Rio InterBase 2017

Etant donné que toutes ces licences de RAD Studio sont visibles à l'échelle du système, il n'est possible d'utiliser qu'une seule licence d'InterBase à la fois.

Par exemple, si vous exécutez la version "InterBase XE3 Developer Edition" livrée avec RAD Studio XE6, vous ne pouvez pas démarrer une instance simultanée de "InterBase XE3 Developer Edition" livrée avec RAD Studio XE7. Vous ne pouvez pas non plus démarrer une instance simultanée de l'édition InterBase XE7 livrée avec RAD Studio 10.3 Rio. Lorsque vous tentez de le faire, vous recevez un message d'erreur signalant une erreur de licence InterBase et le journal InterBase indique "Registration file error: License is in use by another instance of InterBase".

Pour plus d'informations sur l'exécution de plusieurs instances d'InterBase, voir la section Multiple Instances dans http://docs.embarcadero.com/products/interbase/IBXE7/OpGuide.pdf (EN).

Solution pour les erreurs de licence relatives à InterBase

  1. Arrêtez toutes vos instances d'InterBase. Par ailleurs, si vous avez configuré cette instance en tant que service Windows, veuillez la désactiver dans le Panneau de configuration Services du système.
  2. Démarrez l'instance d'InterBase que vous voulez utiliser. Elle devrait maintenant s'exécuter avec la licence appropriée.

Les versions de RAD Studio susmentionnées et les applications construites par ces versions peuvent aussi fonctionner avec la version mise à jour d'InterBase XE7 installée avec RAD Studio 10.3 Rio. Connectez vos anciens outils et applications de l'EDI à votre base de données par boucle de rappel TCP à cette instance d'InterBase. Par exemple :

localhost/gds_db:<dbpath>

Dans les anciennes versions de RAD Studio, vous pouvez aussi sélectionner Outils > Options > Options d'environnement > Variables d'environnement et ajouter les nouvelles entrées "Redéfinitions utilisateur" suivantes pour établir les connexions client locales.

Variable Valeur
IB_Protocol gds_db
InterBase C:\Program Files (x86)\Embarcadero\Studio\20.0\InterBaseXE7

La construction d'applications IBLite pour Android requiert la mise à jour du chemin NDK.

Pour être en mesure de construire des applications IBLite et IBToGo pour Android, remplacez l'emplacement de l'API NDK par la version 26 (les versions 19 et ultérieures fonctionnent également). Pour cela, accédez à Outils > Options > Déploiement > Gestionnaire SDK, sélectionnez Android SDK 25.2.5 32 bits dans la liste déroulante Versions SDK, cliquez sur l'onglet NDK dans la page Propriétés et modifiez les chemins suivants :

Emplacement de l'API NDK :

C:\Users\Public\Documents\Embarcadero\Studio\20.0\CatalogRepository\AndroidNDK-17b_20.0.32429.4364\platforms\android-19

Chemin de bibliothèque NDK C++ Builder :

C:\Users\Public\Documents\Embarcadero\Studio\20.0\CatalogRepository\AndroidNDK-17b_20.0.32429.4364\platforms\android-19\arch-arm\usr\lib

Chemin de bibliothèque NDK Delphi :

C:\Users\Public\Documents\Embarcadero\Studio\20.0\CatalogRepository\AndroidNDK-17b_20.0.32429.4364\platforms\android-19\arch-arm\usr\lib
C:\Users\Public\Documents\Embarcadero\Studio\20.0\CatalogRepository\AndroidNDK-17b_20.0.32429.4364\sources\cxx-stl\gnu-libstdc++\4.9\libs\armeabi-v7a

Logiciel externe

Des problèmes peuvent se produire avec des applications déboguées dans un environnement incluant un sélecteur de clavier tiers comme Yandex Punto Switcher. Si l'application est fermée par Windows, et qu'une violation d'accès est déclenchée par l'application, ignorez cette erreur de violation d'accès.

Outils de traduction

RAD Studio 10.3 Rio n'assure plus la prise en charge des outils de traduction disponibles dans le produit (ils sont devenus obsolètes) aussi bien pour la VCL (Editeur de traductions intégré) que pour FireMonkey (TLang). Les deux fonctionnalités sont toujours disponibles dans Rio mais il est recommandé de réduire la dépendance de votre projet envers ces outils. RAD Studio travaille en partenariat avec des éditeurs tiers pour proposer des options alternatives.

Voir aussi