Nouveautés de Seattle
Remonter à Nouveautés des releases précédentes
La release Seattle contient de nouvelles fonctionnalités ainsi que des améliorations.
- Remarque : Pour la compatibilité avec macOS 10.11 (El Capitan) et iOS 9, voir Remarques relatives à macOS 10.11 et iOS 9.
Sommaire
- 1 Compilateurs C++
- 1.1 Nouveau compilateur C++ amélioré par Clang pour Windows 32 bits
- 1.2 Versions Clang et LLVM mises à jour
- 1.3 Compilation parallèle pour les compilateurs C++ améliorés par Clang
- 1.4 Limitation du mot clé __property relative aux compilateurs C++ de précédente génération
- 1.5 Nouvelle constante pour les compilateurs C++ améliorés par Clang
- 2 FireMonkey
- 2.1 FireMonkey prend en charge Windows 10
- 2.2 Glisser-déposer sur d'autres applications sous macOS
- 2.3 Nouveaux styles FireMonkey
- 2.4 Nouvelle présentation Windows native FireMonkey
- 2.5 Défilement d'onglets dans un contrôle onglet
- 2.6 Suppression des contraintes de taille pour TCalendar
- 2.7 La vue liste iOS native prend en charge les apparences personnalisées
- 2.8 Les contrôles visuels de FireMonkey peuvent afficher des conseils lorsqu'ils sont pointés avec la souris
- 2.9 Animation tactile pour Android
- 2.10 Les notifications système sont transférées dans la RTL et sont prises en charge par Windows
- 2.11 Concepteur de styles FireMonkey
- 2.12 Nouvelle fonction GetFirstWeekday
- 2.13 Les constructeurs de présentation stylée reçoivent le modèle de données et le contrôle
- 2.14 Refactoring du contrôle vue liste
- 2.15 TStyledPresentationProxy remplace toutes les classes proxy de présentation de styles
- 2.16 Refactoring de TCalendar
- 2.17 Autres modifications relatives à FireMonkey
- 3 VCL
- 4 RTL
- 4.1 Recensement de votre application afin de gérer les intentions Android
- 4.2 Améliorations de JSON
- 4.3 Exécution d'actions distantes asynchrones
- 4.4 Prise en charge du serveur GATT pour Android 5
- 4.5 Prise en charge des noms de domaines internationalisés
- 4.6 Prise en charge du hachage SHA-2
- 4.7 Améliorations relatives au Bluetooth
- 4.8 Refactoring des communications du tethering d'app
- 4.9 Autres modifications relatives à la RTL
- 5 EDI
- 5.1 Améliorations concernant la mémoire
- 5.2 Nouveau projet de service Android
- 5.3 Prise en charge améliorée des configurations multi-moniteurs
- 5.4 Intégration des fonctionnalités de Castalia dans l'EDI
- 5.5 Récupération automatique
- 5.6 Modification de la taille de fonte de l'éditeur de code
- 5.7 Mise à jour des bibliothèques Subversion dans l'EDI
- 5.8 Améliorations relatives au Gestionnaire de packages GetIt
- 5.9 Libellés renommés dans macOS - Page Approvisionnement de Magasin d'applications
- 5.10 Nouvelle option pour autoriser les applications iOS 9 à accéder aux URL non SSL
- 5.11 Nouvelle option permettant d'ajouter la prise en charge de l'exécution en arrière-plan sur iOS
- 5.12 Nouvelle option permettant d'activer la prise en charge DPI en haute résolution dans vos applications VCL
- 5.13 Améliorations de l'inspecteur d'objets
- 5.14 Nouvelles icônes pour la vue Structure
- 5.15 Nouvelle valeur par défaut du paramètre InstallLocation dans le fichier manifest Android
- 5.16 Nouvelle option permettant de masquer les composants non visuels à la conception
- 5.17 Nouvel aspect du dialogue de sélection d'un répertoire
- 5.18 Améliorations relatives à l'API Tools
- 5.19 Prise en charge améliorée des importations d'anciens projets
- 6 Modifications relatives aux bases de données
- 7 Cloud
- 8 Modifications relatives au débogueur pour Seattle
- 9 Modifications relatives au framework de test pour Seattle
- 10 Frameworks et SDK intégrés
- 11 Aide
- 12 Remarques relatives à macOS 10.11 et iOS 9
Compilateurs C++
Nouveau compilateur C++ amélioré par Clang pour Windows 32 bits
BCC32C est un compilateur C++ amélioré par Clang pour Windows 32 bits. BCC32C vous permet de tirer parti de nombreuses fonctionnalités C++11, et de conserver facilement une base de code unique pour cibler à la fois Windows 32 bits et 64 bits.
BCC32C ne remplace pas BCC32 ; RAD Studio vous permet de choisir le compilateur que vous voulez utiliser pour chacun de vos projets. BCC32 est le compilateur C++ par défaut pour Windows 32 bits. Pour basculer un projet en BCC32C, sélectionnez Projet > Options > Compilateur C++ puis, sous Compilateur classique, désactivez l'option "Utiliser le compilateur Borland 'classique'".
Versions Clang et LLVM mises à jour
BCC32C et BCC64, les compilateurs C++ améliorés par Clang pour Windows, ont été mis à jour sur Clang 3.3 et LLVM 3.3.
Compilation parallèle pour les compilateurs C++ améliorés par Clang
Dans Seattle, vous pouvez activer la compilation parallèle dans les compilateurs C++ améliorés par Clang pour diminuer considérablement la durée de compilation dans les systèmes dotés de processeurs multi-coeurs.
Limitation du mot clé __property relative aux compilateurs C++ de précédente génération
Les compilateurs BCC32 et BCCOSX ne prennent pas en charge le mot clé default
sur les propriétés indexées. Pour plus d'informations, voir __property - Prise en charge du compilateur.
Nouvelle constante pour les compilateurs C++ améliorés par Clang
La constante RTLVersion n'est pas prise en charge par les compilateurs C++ améliorés par Clang. Vous pouvez utiliser à la place RTLVersionC.
FireMonkey
FireMonkey prend en charge Windows 10
FireMonkey prend totalement en charge la création d'applications natives pour Windows 10. Le framework détecte automatiquement la plate-forme cible, charge et affiche le style natif approprié à l'exécution, sans que vous ayez besoin d'ajouter un livre de styles ou du code.
Glisser-déposer sur d'autres applications sous macOS
IFMXDragDropService, le service de plate-forme FireMonkey qui assure la prise en charge des opérations glisser-déposer, supporte désormais le glissement des données d'une application FireMonkey vers une autre application.
Nouveaux styles FireMonkey
Nouveaux styles FireMonkey Windows 10 inclus dans Seattle : Win10Modern.Style, Win10ModernBlue.Style et Win10ModernDark.Style.
Accédez aux styles FireMonkey dans C:\Utilisateurs\Public\Documents\Embarcadero\Studio\17.0\Styles
.
Nouvelle présentation Windows native FireMonkey
Les contrôles suivants prennent maintenant en charge la présentation native sur la plate-forme Windows :
Voir comment les contrôles FireMonkey prennent en charge l'ordre Z pour Windows.
Pour plus d'informations sur les contrôles Windows natifs, voir Contrôles Windows natifs de FireMonkey.
Défilement d'onglets dans un contrôle onglet
Le composant TTabControl prend en charge la navigation par défilement dans les onglets lorsque la largeur de l'ensemble des onglets est supérieure à la largeur du contrôle onglet. Pour utiliser cette fonctionnalité, vous devez définir la propriété FullSize sur False
.
A la conception, lorsque la largeur de l'ensemble des onglets est supérieure à la largeur du contrôle onglet, les boutons droite et gauche indiquant qu'il est possible de faire défiler les onglets masqués à l'exécution apparaissent. Dans les périphériques équipés d'un écran tactile, faites glisser les onglets pour les déplacer. Dans les périphériques qui n'ont pas d'écran tactile, utilisez les boutons droite et gauche ou le bouton de défilement de la souris pour faire défiler les onglets. Les boutons droite et gauche apparaissent seulement à la conception. Ils apparaissent à l'exécution seulement si le périphérique n'a pas d'écran tactile.
Vous pouvez changer la hauteur des éléments onglet. Pour changer la hauteur, la propriété AutoSize doit valoir False
.
Suppression des contraintes de taille pour TCalendar
RAD Studio Seattle ne connaît pas de contraintes de taille pour le composant TCalendar.
Vous pouvez maintenant changer la hauteur et la largeur du TCalendar, et même définir la propriété Align sur Client
.
- Remarque : Les contraintes de taille de TCalendar ont également été supprimées pour les composants des calendriers natifs iOS ; vous pouvez changer la taille des calendriers natifs pour iOS 6 ou les versions ultérieures.
La vue liste iOS native prend en charge les apparences personnalisées
Vous pouvez utiliser des apparences personnalisées dans les contrôles natifs de la Vue liste iOS.
Les contrôles visuels de FireMonkey peuvent afficher des conseils lorsqu'ils sont pointés avec la souris
Les contrôles visuels de FireMonkey prennent désormais en charge les conseils sur les plates-formes de bureau. Pour définir un conseil, entrez le texte dans la propriété Hint du contrôle dans l'inspecteur d'objets et définissez la propriété ShowHint sur True
. Voir Utilisation des conseils pour afficher de l'aide contextuelle dans une application FireMonkey pour davantage d'informations sur l'utilisation des conseils.
- Remarque : Les conseils sont pris en charge sur Windows et macOS 10.10 ou versions ultérieures.
Animation tactile pour Android
Les animations tactiles sont incluses dans Seattle pour la plate-forme Android. Ce nouveau type d'animation simule l'animation tactile du Google Material Design Guide.
Il n'est pas nécessaire de faire quoi que ce soit pour activer ou désactiver l'animation, elle est activée par défaut. L'animation est incluse pour le composant TListBox et pour les boutons tels que TButton, TCornerButton et TSpeedButton.
Voir la classe TTouchAnimationAdapter et les propriétés TActiveStyleObject.TouchAnimation et TButtonStyleObject.TouchAnimation pour davantage de détails.
Les notifications système sont transférées dans la RTL et sont prises en charge par Windows
L'unité FMX.Notification
a été remplacée par System.Notification.
Le composant TNotificationCenter prend désormais en charge Windows 8 et les versions ultérieures de Windows. Ce composant a également subi des modifications mineures :
- Il fournit une propriété Loaded afin de vérifier si le centre de notifications est prêt à être utilisé.
- Le type de ApplicationIconBadgeNumber est passé de Word à Integer.
- Sa méthode
Supported
n'est plus nécessaire et a été retirée.
La classe TBaseNotificationCenter a remplacé l'interface deIFMXNotificationCenter
. Les classes qui implémentaient auparavant l'interfaceIFMXNotificationCenter
doivent devenir des sous-classes de TBaseNotificationCenter et implémenter les méthodes virtuelles abstraites de leur classe parent.
Concepteur de styles FireMonkey
Styles de plates-formes
Le Concepteur de styles FireMonkey permet désormais de définir un style différent pour chaque plate-forme de votre projet lors de la conception. Un seul TStyleBook peut maintenant gérer une collection de styles.
Personnalisation des contrôles
RAD Studio permet maintenant de personnaliser les composants pour différentes plates-formes à la conception.
Pour plus d'informations, voir Tutoriel mobile : Utilisation d'un composant Bouton avec différents styles (iOS et Android).
Nouvel éditeur de liaisons bitmap
Un nouvel éditeur permet de modifier graphiquement les propriétés TBitmapLink sur les objets stylés, directement au sein de l'EDI.
Les propriétés TBitmapLink peuvent maintenant être modifiées simplement et visuellement à l'aide de l'éditeur BitmapLinks.
Pour plus d'informations, voir Editeur BitmapLinks et Tutoriel : Utilisation de l'éditeur BitmapLinks.
Autres améliorations
- Nouvelle barre d'outils pour charger, enregistrer et effacer les fichiers .style.
- Différents arrière-plans pour modifier le style. Vous avez le choix entre aucun arrière-plan et un arrière-plan clair/sombre. La couleur vous permet de voir de quelle manière le contrôle personnalisé ressort sur des couleurs sombres et claires.
- Sélection et gestion des objets et composants de différents styles directement dans le Concepteur de styles.
- Ajout de nouveaux contrôles au Concepteur de styles en double-cliquant sur le contrôle dans la palette d'outils.
Nouvelle fonction GetFirstWeekday
FireMonkey fournit la nouvelle fonction GetFirstWeekday au sein de l'interface IFMXLocaleService.
GetFirstWeekday renvoie le premier jour de la semaine dans un format unifié indépendant de la plate-forme.
- Remarque : GetLocaleFirstDayOfWeek est obsolète. A la place, utilisez GetFirstWeekday.
Les constructeurs de présentation stylée reçoivent le modèle de données et le contrôle
Dans Seattle, les classes de présentation stylée reçoivent à la fois leur modèle de données et leur contrôle présenté dans leur constructeur, ce qui simplifie considérablement la création de classes de présentation.
Pour porter vos classes de présentation de XE8 vers Seattle, retirez tout le code associé à l'initialisation retardée du modèle de données et du contrôle présenté, et déplacez ce code vers votre constructeur.
Refactoring du contrôle vue liste
De nombreux membres qui se trouvaient dans TCustomListView
sont désormais dans une classe différente ou même dans une unité différente. Les membres qui allaient dans une classe différente continuent à faire partie de TCustomListView
par le biais de l'héritage.
Pour obtenir une liste détaillée des modifications, voir Refactoring du contrôle vue liste dans Seattle.
TStyledPresentationProxy remplace toutes les classes proxy de présentation de styles
Les classes de présentation de styles n'ont plus besoin de définir une classe proxy. La nouvelle classe TStyledPresentationProxy peut être utilisée pour créer un objet proxy pour toute classe de présentation de styles. Toutes les classes de présentation de styles existantes ont été retirées :
XE8 | Seattle |
---|---|
|
Refactoring de TCalendar
Modifications apportées à TCalendar :
- TCustomCalendar a été introduit comme classe de base pour les contrôles qui affichent un calendrier mensuel. Maintenant,
TCalendar
hérite deTCustomCalendar
. Les deux classes se trouvent dans l'unité FMX.Calendar.
- La nouvelle propriété TouchTargetExpansion a été ajoutée.
Modifications apportées à TStyledCalendar :
- La méthode TryFindDayItem a été ajoutée pour accéder à l'élément de la zone de liste qui représente un jour de TCalendar.
- La méthode
TStyledCalendar.FillList
, présente dans XE8, est maintenant séparée dans les différentes procédures suivantes :
Autres modifications relatives à FireMonkey
- Vous devez à présent transtyper TListView.Selected en Appearances.TListViewItem pour l'utiliser tel quel.
- Un certain nombre de constantes qui représentent des extensions de fichier ont été modifiées afin de corriger une faute d'orthographe. Par exemple,
SBMPImageExtention
devientSBMPImageExtension
. Ces constantes sont situées dans le fichierFMX.Consts.pas
. - Le champ protégé
FDisableDayChange
de TStyledCalendar a été remplacé par la propriété publiée DisableDayChange. En outre,TStyledCalendar
publie désormais ses objets de style : Years, Month, Weeks, Week, Days, Today, Prev, Next. - La propriété TouchTargetExpansion de TDateEdit et TTimeEdit est à présent publiée.
- Le constructeur de TTintedStages requiert son objet de style propriétaire comme paramètre.
- Nouveau comportement et nouvelle présentation de TSwitch pour Windows 10. Par exemple, lorsque le commutateur est activé, la couleur d'arrière-plan change en cas de pointage du commutateur avec la souris.
- Le mode par défaut de TMultiView est
NavigationPane
dans Windows 10. Pour plus de détails, voir Mode Volet Navigation. - Nouvelle visionneuse de styles pour le style Windows 10 dans le Concepteur de styles de bitmaps.
- Amélioration de la prise en charge du Presse-papiers afin de pouvoir copier et coller des bitmaps. Voir les exemples dans :
-
C:\Utilisateurs\Public\Documents\Embarcadero\Studio\17.0\Samples\Object Pascal\Multi-Device Samples\User Interface\CopyPaste
C:\Utilisateurs\Public\Documents\Embarcadero\Studio\17.0\Samples\CPP\Multi-Device Samples\User Interface\CopyPaste
- La nouvelle classe TBeaconDevice vous permet de simuler qu'un périphérique avec BluetoothLE est un beacon. Voir l'exemple BeaconDevice.
- TListBoxSelector fournit une alternative à MouseSelectFinish, qui est exécuté par la zone de liste avant que l'événement OnItemClick du composant zone de liste se produise : MouseSelectFinishing.
- Les contrôles TControl obtiennent les méthodes protégées suivantes : EnabledChanged, PaddingChanged et VisibleChanged. Lorsque la valeur de Enabled, Padding ou Visible change dans un contrôle, ce contrôle exécute la méthode correspondante.
VCL
Les nouveaux contrôles VCL de Windows 10
Les contrôles suivants sont ajoutés à la VCL :
- TRelativePanel : RelativePanel est un nouveau volet de présentation qui vous permet de positionner et d'aligner des objets enfant les uns par rapport aux autres ou par rapport au volet parent. Ainsi, vous pouvez spécifier qu'un texte particulier sera toujours positionné du côté gauche du volet et qu'un bouton sera toujours placé sous le texte. Utilisez RelativePanel comme alternative à TGridPanel lors de la création d'interfaces utilisateur n'ayant pas un modèle linéaire clair.
- TSplitView : le nouveau contrôle SplitView vous permet d'afficher et de masquer facilement du contenu temporaire. Vous pouvez par exemple l'utiliser comme un menu de navigation de niveau supérieur sur lequel le contenu est masqué et s'affiche uniquement en cas de besoin (ce type de menu est souvent appelé "menu hamburger).
- TToggleSwitch : le bouton à bascule TToggleSwitch imite un interrupteur physique qui permet aux utilisateurs de permuter les choses. Ce contrôle a deux états : activé et désactivé (ON et OFF). Il est possible de modifier ou de retirer les libellés du bouton à bascule.
- TActivityIndicator : un indicateur anneau de progression
indéterminé
. Cet indicateur vous laisse choisir entre plusieurs types et vous permet de modifier plusieurs propriétés visuelles, comme sa taille, sa vitesse d'animation et sa couleur. - TSearchBox : un contrôle d'édition qui fournit des capacités de recherche ; il est similaire au contrôle TSearchBox de FireMonkey.
Ces contrôles sont conçus spécifiquement pour Windows 10, mais ils prennent en charge toutes les versions de Windows.
Les applications exemples relatives aux nouveaux contrôles VCL Windows 10 démontrent l'utilisation et les fonctionnalités de ces contrôles :
- Exemple ActivityIndicator
- Exemple RelativePanel
- Exemple SearchBox
- Exemple SplitView
- Exemple ToggleSwitch
Nouveau composant TSharingContract
Le composant TSharingContract assure la prise en charge des contrats, le mécanisme système permettant le partage d'informations avec les applications Windows 10. Les applications peuvent se comporter comme des sources de contrat utilisant le nouveau composant SharingContract.
Voir Windows Dev Center - Contrats et extensions des applications pour de plus amples informations sur l'utilisation des contrats et le partage d'informations.
Nouveaux styles VCL
- Nouveaux styles VCL Windows 10 inclus dans Seattle : Windows10, Windows10 Blue et Windows10 Dark.
- Nouveau style OnyxBlue.
Vous accédez aux styles VCL en sélectionnant Projet > Options > Application > Apparence.
Améliorations de la définition de styles VCL
- Prise en charge de la définition de styles pour les dialogues communs. Voir SystemHooks pour de plus amples informations.
- Le composant TWebBrowser prend maintenant en charge la définition de styles.
Pour de plus amples informations sur les styles VCL, voir Travailler avec les styles VCL.
Modernisation du dialogue de sélection d'un répertoire
SelectDirectory a été modifiée pour afficher un dialogue de sélection de répertoire modernisé. Utilisez la troisième signature de la fonction SelectDirectory et définissez votre ensemble d'options en tant que TSelectDirFileDlgOpts.
RTL
Recensement de votre application afin de gérer les intentions Android
Dans XE8, les notifications locales ou push étaient le seul moyen de recevoir des intentions. Dans Seattle, la bibliothèque Java RAD Studio intégrée Androidapi.JNI.Embarcadero
permet le recensement de votre application afin de gérer tout type donné d'action d'intention.
Examinez l'application exemple Android Intents (EN) pour savoir comment gérer de simples données à partir d'une autre application en utilisant les intentions Android.
- Remarque : Pour être en mesure de gérer les intentions Android, vous devez ajouter la balise
<action>
correspondante à la section<intent-filter>
du fichier AndroidManifest.xml.
Améliorations de JSON
La portée System.JSON a été étendue avec de nombreuses unités nouvelles qui fournissent une prise en charge pour :
- BSON, une alternative binaire au format JSON.
- Les lecteurs et les éditeurs (writers) JSON, afin de générer et d'analyser les données JSON à la volée, sans construire au préalable une arborescence JSON complète en mémoire.
- MongoDB extended JSON (EN), une extension au format JSON afin de prendre en charge des types de données supplémentaires. Vous pouvez activer cette extension JSON dans les lecteurs et les éditeurs JSON en utilisant leur propriété
ExtendedJsonMode
.
En outre, TJSONObject.ParseJSONValue et TJSONObject.Parse permettent la création d'une valeur TJSONBool à partir des données analysées.
Exécution d'actions distantes asynchrones
Utilisez la nouvelle méthode RunRemoteActionAsync pour exécuter des actions distantes de manière asynchrone. En utilisant des actions asynchrones, la fonction qui appelle cette méthode n'est pas bloquée pendant l'exécution de l'action distante.
Pour plus d'informations, voir Exécution d'actions distantes.
Prise en charge du serveur GATT pour Android 5
Dans Seattle, vous pouvez créer un serveur Bluetooth Low Energy sur Android 5.
Prise en charge des noms de domaines internationalisés
Le framework HTTP prend maintenant en charge les noms de domaine internationalisés (EN) (NDI). Deux nouvelles méthodes publiques sont disponibles : TURI.UnicodeToIDNA et TURI.IDNAToUnicode.
Prise en charge du hachage SHA-2
L'unité System.Hash a un nouveau membre, THashSHA2, qui implémente la famille de fonctions de hachage SHA-2 (EN).
Améliorations relatives au Bluetooth
- La nouvelle propriété ScannedAdvertiseData de TBluetoothLEDevice vous permet d'accéder aux données publiées par un périphérique distant sous forme d'instance de TBluetoothLEAdvertiseData. Vous pouvez ainsi lire facilement des informations utiles comme les informations spécifiques au fabricant.
- TBluetoothGattServer.AddService vous permet d'indiquer si vous souhaitez que le service ajouté soit publié (par défaut) ou non.
- TBluetoothLEManager.StartDiscovery prend en charge un nouveau paramètre
ForceConnect
permettant de connecter tous les périphériques distants découverts afin d'obtenir une liste complète des services fournis par chaque périphérique distant. Cela vous permet de filtrer les périphériques distants en fonction des services fournis, qu'ils soient publiés ou non. - Nouvelle classe d'assistance TBluetoothUUIDHelper permettant de travailler avec différents formats de UUID Bluetooth.
Refactoring des communications du tethering d'app
La classe de base des profils de tethering d'app, TTetheringProfile, implémente désormais la logique d'analyse des commandes de tethering d'app (implémentée auparavant dans la classe de base des protocoles de tethering d'app) ainsi que la logique de gestion des profils distants et des connexions, implémentée auparavant sur sa classe enfant TTetheringAppProfile.
Pour obtenir une liste détaillée des modifications, voir Refactoring des communications du tethering d'app dans Seattle.
Autres modifications relatives à la RTL
- THashSHA2.GetHMACAsBytes, THashSHA1.GetHMACAsBytes et THashMD5.GetHMACAsBytes acceptent maintenant les paramètres
Data
etKey
sous la forme d'une chaîne ou d'octets. - GetSharedDocumentsPath renvoie maintenant un chemin différent sur la plate-forme Android. Le nouveau chemin pointe sur un répertoire de niveau système sur le stockage externe.
- TThreadPool fournit une nouvelle propriété de classe, Current, qui expose le pool de threads de la tâche en cours.
- La classe TZipFile possède désormais un callback qui peut être utilisé pour interroger la progression de l'opération. Voir TZipFile.ExtractZipFile et TZipFile.OnProgress pour de plus amples informations.
EDI
Améliorations concernant la mémoire
Dans Seattle, l'EDI de RAD Studio inclut des améliorations notables en matière de consommation et de gestion de la mémoire :
- L'EDI peut maintenant utiliser jusqu'à 4 Go de mémoire et n'est plus limité à 2 Go.
- Remarque : Les extensions de l'EDI doivent prendre en charge les grandes adresses mémoire.
- La gestion de la mémoire de l'EDI pour les projets ouverts a été améliorée. L'EDI peut maintenant gérer un plus grand nombre de projets ouverts.
Nouveau projet de service Android
RAD Studio fournit un nouveau type de projet Delphi pour créer des services Android.
Le nouveau type de projet couvre les différents types de services, locaux et distants, et il prend en charge les tâches asynchrones utilisant des intentions.
Le projet Service Android est composé d'un module de données permettant de créer les méthodes et les événements du service. La construction du projet crée les fichiers binaires nécessaires à l'application principale, comme le fichier archive Java (.*JAR), selon le type de service sélectionné.
Pour créer un service Android :
- L'EDI fournit un nouvel expert pour créer le projet Service Android.
- L'EDI fournit un nouvel expert pour ajouter des services Android à une application multi-périphérique.
Pour de plus amples informations, voir Service Android et Création de services Android.
Prise en charge améliorée des configurations multi-moniteurs
Seattle améliore l'expérience utilisateur dans les configurations multi-moniteurs.
Intégration des fonctionnalités de Castalia dans l'EDI
Certaines des fonctionnalités de Castalia ont été incorporées dans l'EDI pour RAD Studio Seattle :
- Historique du Presse-papiers : affiche les éléments stockés lorsque vous copiez du texte. La fenêtre Historique du Presse-Papiers est accessible dans Voir > Historique du Presse-Papiers.
- Multi-collage : vous permet de modifier du texte ayant été copié avant de le coller. La fenêtre Multi-collage est accessible dans Edition > Multi-collage.
- Statistiques du projet : affiche le temps passé dans les différentes parties de votre projet. Vous pouvez trouver la fenêtre Statistiques du projet dans Voir > Statistiques du projet.
- Barre d'outils de navigation : affichée dans l'éditeur de code pour vous aider à naviguer dans votre code. La barre d'outils de navigation inclut la recherche des symboles du projet.
- Synchroniser les prototypes : fonctionnalité permettant de synchroniser les copies des sections interface et implementation de vos méthodes.
- Mise en surbrillance structurelle : met en surbrillance la structure du code avec des lignes, ainsi que l'utilisation de procédures qui interrompent le flux linéaire d'exécution de votre code. Des options supplémentaires associées à cette fonctionnalité sont disponibles dans la page Mise en surbrillance structurelle.
- Touches intelligentes : fournit des raccourcis pour placer le curseur au début de la ligne ou du texte, et offre des possibilités pour encadrer rapidement votre code avec "()", "[]", ou "{}". Ces fonctionnalités peuvent être activées ou désactivées depuis la page Affectations de touches.
Récupération automatique
La fonctionnalité Récupération automatique vous permet de récupérer vos fichiers lorsque l'EDI se ferme de façon inattendue.
Des options supplémentaires associées à la fonctionnalité Récupération automatique sont disponibles dans la page Récupération automatique.
Modification de la taille de fonte de l'éditeur de code
Vous pouvez augmenter ou diminuer la taille de la fonte dans l'éditeur de code à l'aide du menu contextuel de l'éditeur de code, ou à l'aide de raccourcis clavier :
- Utilisez les options Augmenter la taille de fonte et Réduire la taille de fonte disponibles dans le menu contextuel de l'éditeur de code pour augmenter et réduire la taille de fonte.
- Utilisez les raccourcis clavier Ctrl+Num + et Ctrl+Num - pour augmenter et diminuer respectivement la taille de fonte. Pour plus d'informations sur les raccourcis, voir Affectations de touches - Index.
Mise à jour des bibliothèques Subversion dans l'EDI
Dans Seattle, RAD Studio inclut les bibliothèques Subversion version 1.8.13.
Pour plus d'informations sur les systèmes de contrôle de version intégrés dans l'EDI, voir Intégration de Subversion dans l'EDI et Systèmes de contrôle de version dans l'EDI.
Améliorations relatives au Gestionnaire de packages GetIt
Les améliorations suivantes ont été ajoutées au Gestionnaire de packages GetIt dans Seattle :
- Nouvelle interface utilisateur améliorée pour la fenêtre du Gestionnaire de packages GetIt.
- Capacité à filtrer les packages par catégorie.
- Dans RAD Studio Seattle Subscription Update 1, une nouvelle page d'options accessible depuis Outils > Options > GetIt depuis laquelle vous pouvez configurer le Gestionnaire de packages GetIt pour vérifier s'il existe des mises à jour de packages au démarrage.
Libellés renommés dans macOS - Page Approvisionnement de Magasin d'applications
Les options Approvisionnement pour la signature de code d'une application macOS pour le Magasin d'applications ont été renommées Certificat Développeur Mac tierce partie et Certificat Installateur Mac tierce partie, pour correspondre aux noms utilisés par Apple pour ces certificats.
Pour plus d'informations sur la signature de code des applications, voir la page Approvisionnement.
Nouvelle option pour autoriser les applications iOS 9 à accéder aux URL non SSL
- Remarque : Cela ne concerne que RAD Studio Seattle Subscription Update 1.
Nouvelle option dans Projet > Options > Liste des droits pour activer les requêtes de protocole HTTP sous iOS 9.0. Cette option est activée par défaut.
Nouvelle option permettant d'ajouter la prise en charge de l'exécution en arrière-plan sur iOS
L'EDI vous permet maintenant d'inclure dans le fichier Info.plist
la prise en charge du mode d'exécution en arrière-plan sur une application iOS.
Dans Projet > Options > Informations de version, vous pouvez ajouter à la clé de tableau UIBackgroundModes
les valeurs chaînes des services qui nécessitent de continuer l'exécution en arrière-plan.
Nouvelle option permettant d'activer la prise en charge DPI en haute résolution dans vos applications VCL
L'EDI vous permet maintenant d'activer la prise en charge DPI en haute résolution dans vos applications VCL.
Dans Projet > Options > Application, vous pouvez cocher l'option Activer la haute résolution pour votre projet.
Améliorations de l'inspecteur d'objets
- Une nouvelle zone de filtre affiche les propriétés ou les événements qui correspondent au modèle spécifié. La nouvelle option est située sous la liste d'instances de l'inspecteur d'objets.
- Granularité accrue pour l'inspecteur d'objets. Sur le menu contextuel, une nouvelle option Afficher permet d'afficher ou de masquer les différentes parties de l'inspecteur d'objets.
- Liste d'instances
- Zone Filtre
- Panneau Action rapide
- Volet Description (masqué par défaut)
- Barre d'état
Les nouvelles options sont également accessibles via Outils > Options | Options d'environnement > Inspecteur d'objets.
Pour plus d'informations, voir Options de l'inspecteur d'objets.
Nouvelles icônes pour la vue Structure
Les icônes de la vue Structure correspondent maintenant aux icônes de la palette d'outils. Les miniatures vous aident à repérer facilement les composants de l'application sur la vue Structure.
Nouvelle valeur par défaut du paramètre InstallLocation dans le fichier manifest Android
La nouvelle valeur par défaut du paramètre InstallLocation dans le fichier manifest d'application Android est auto
. Pour plus d'informations, voir la section Informations de version Android. Changer cette valeur dans vos anciens projets peut vous aider à résoudre certains problèmes de débogage spécifiques.
Nouvelle option permettant de masquer les composants non visuels à la conception
L'EDI vous permet maintenant de masquer ou d'afficher les composants non visuels à la conception.
Nouvel aspect du dialogue de sélection d'un répertoire
L'EDI affiche désormais un dialogue de sélection d'un répertoire modernisé pour la recherche de dossiers. Le dialogue de sélection d'un répertoire vous permet de taper ou de coller le chemin d'un dossier.
Par exemple, vous pouvez trouver ce dialogue dans le Finder de fichiers (Ctrl-Maj-F
).
Améliorations relatives à l'API Tools
- Interface de dessin de l'éditeur : de nouvelles interfaces API Tools de dessin ont été ajoutées pour étendre l'éditeur de code afin d'améliorer le dessin personnalisé.
Voir comment étendre l'EDI en utilisant l'API Tools.
Prise en charge améliorée des importations d'anciens projets
Seattle prend en charge l'importation de projets Delphi 1 à XE8 et C++Builder 3 à XE8.
Modifications relatives aux bases de données
DataSnap
Transmission compressée des ensembles de données FireDAC
Dans Seattle, la transmission des ensembles de données FireDAC entre un serveur DataSnap et un client DataSnap est compressée. En conséquence, le serveur et le client consomment à peine un tiers de la mémoire qu'ils consommeraient dans une construction à partir de XE8.
Certaines applications client DataSnap ne nécessitent plus OpenSSL
Certaines applications client Datasnap ne nécessitent plus la prise en charge de OpenSSL pour HTTPS :
- Un client DataSnap avec TDSRestConnection ne nécessite pas OpenSSL.
- Un client DataSnap avec TSQLConnection peut nécessiter OpenSSL.
- Remarque : Seules les applications client DataSnap qui utilisent des filtres doivent installer les bibliothèques OpenSSL.
Nouveaux exemples de démos DataSnap
RAD Studio inclut à présent deux nouveaux exemples d'utilisation du FDSchemaAdapter dans les applications DataSnap :
- L'exemple FireDAC dans
Object Pascal\DataSnap\FireDAC
. - L'exemple FireDAC DBX dans
Object Pascal\DataSnap\FireDAC_DBX
.
FireDAC
Optimisation des composants FireDAC ETL
TFDBatchMoveSQLWriter prend en charge les modes de déplacement des données TFDBatchMove.
- Remarque : Le mode
dmAppendUpdate
est uniquement pris en charge lorsque la base de données prend en charge les commandes MERGE, INSERT OR REPLACE ou les commandes DML similaires.
Prise en charge de la base de données NoSQL MongoDB
Dans Seattle, FireDAC prend totalement en charge la base de données NoSQL MongoDB.
Utilisez le nouveau pilote de connexion FireDAC, les classes API et les nouveaux composants pour développer des applications se connectant à la base de données MongoDB.
Pour plus de détails, voir Connexion à une base de données MongoDB avec FireDAC.
Connexion à une base de données MongoDB
Utilisez le nouveau pilote MongoDB FireDAC pour établir la connexion à la base de données MongoDB.
- Assignez le nouveau driverID Mongo à la propriété DriverName du composant TFDConnection.
- Nouveau composant TFDPhysMongoDriverLink et l'unité FireDAC.Phys.MongoDB.
Classes englobantes MongoDB
FireDAC inclut maintenant de nouvelles classes d'encapsulation permettant d'encapsuler les commandes, méthodes et structures des bases de données MongoDB :
- TMongoConnection : classe permettant de gérer les connexions à un serveur MongoDB, l'accès aux bases de données et aux collections d'objets.
- TMongoDatabase : classe permettant de gérer une base de données MongoDB, les collections et les utilisateurs de la base de données MongoDB.
- TMongoCollection : classe représentant une collection MongoDB.
- TMongoCursor : classe permettant de récupérer un document d'ensemble de résultats à partir d'un curseur MongoDB.
Constructeurs de méthodes et commandes MongoDB
FireDAC prend désormais en charge les commandes relatives aux requêtes, au pipeline et aux mises à jour de MongoDB, avec la commande de style fluent et les constructeurs de méthodes.
- TMongoUpdate : représente le constructeur MongoDB Update (EN).
- TMongoSelector : représente le constructeur MongoDB Selector (EN).
- TMongoInsert : représente le constructeur MongoDB Insert (EN).
- TMongoIndex : représente le constructeur de définition MongoDB Index (EN).
Nouveaux ensembles de données MongoDB
Les ensembles de données spécifiques à FireDAC MongoDB récupèrent et gèrent les données d'une base de données MongoDB.
- Utilisez le composant TFDMongoDataSet pour attacher l'ensemble de données au curseur MongoDB.
- Utilisez le composant TFDMongoQuery pour exécuter des requêtes sur les collections MongoDB.
- Utilisez le composant TFDMongoPipeline pour exécuter des commandes relatives au pipeline sur la collection MongoDB.
Améliorations du pilote ODBC
Le pilote ODBC de FireDAC a été amélioré :
- Si vous utilisez le pilote ODBC avec une base de données Pervasive 10 (EN), le paramètre NumericFormat est par défaut défini sur
String
.
Autres modifications relatives à FireDAC
- La propriété AutoCommitUpdates a été déplacée de TFDDataSet vers TFDUpdateOptions.
- La propriété AutoCommitUpdates a été déplacée de TFDSchemaAdapter vers TFDUpdateOptions.
- La propriété UpdateOptions a été introduite dans TFDSchemaAdapter.
- Lorsque AutoCommitUpdates vaut True, ApplyUpdates retire tous les changements correctement appliqués pour l'ensemble des enregistrements dans le journal des changements de l'ensemble de données.
- TFDTable.FetchOptions.LiveWindowParanoic est maintenant définie par défaut sur
True
. - Vous pouvez désormais omettre le paramètre
AParams
dans les appels à TFDConnection.ExecSQL si votre instruction SQL n'est pas paramétrée, au lieu de transmettre un paramètre nil. - Utilisez le nouveau paramètre du pilote natif Informix, TxSupported, pour indiquer si la base de données Informix prend en charge ou non les transactions SQL. Pour de plus amples informations, voir Connexion à Informix (FireDAC).
Bibliothèque client REST et BaaS
- TRESTRequestParameterList.AddItem accepte les valeurs en tant que tableaux d'octets ou flux.
- TCustomRESTRequest a une nouvelle propriété en lecture seule, Body, qui peut être utilisée pour lire un corps défini auparavant par l'intermédiaire de AddBody.
- La bibliothèque client REST et BaaS prennent maintenant en charge l'utilisation des lecteurs et des éditeurs (writers) JSON.
- Le type TParseDate prend en charge l'objet Parse Date dans le format approprié.
{
"__type": "Date",
"iso": "2015-08-25T18:32:12.265Z"
}
Cloud
L'API Cloud ne nécessite plus OpenSSL
AmazonAPI et AzureAPI ne nécessitent plus la prise en charge de OpenSSL pour HTTPS.
Certains membres de CloudAPI sont obsolètes :
- Encode64 est obsolète, utilisez TNetEncoding.Encode (sur la propriété base64).
- EncodeBytes64 est obsolète, utilisez TNetEncoding.EncodeBytesToString (sur la propriété base64).
- Decode64 est obsolète, utilisez TNetEncoding.Decode (sur la propriété base64).
- DecodeBytes64 est obsolète, utilisez TNetEncoding.DecodeStringToBytes (sur la propriété base64).
- XMLEscape est obsolète, utilisez TNetEncoding.Encode (sur la propriété HTML).
Amazon
- AmazonAPI prend maintenant en charge les dernières versions de l'API :
- Amazon Simple Storage Service (S3) :
API Version 2006-03-01
- Amazon SimpleDB :
API Version 2009-04-15
- Amazon Simple Queue Service (SQS) :
API Version 2012-11-05
- Amazon Simple Storage Service (S3) :
- AmazonAPI prend maintenant en charge AWS Signature version 4 :
- Ce changement est transparent pour l'utilisateur.
- L'API utilise AWS Signature version 4 (EN) chaque fois que possible, mais conserve une compatibilité descendante.
Azure
- AzureAPI prend maintenant en charge les dernières versions de l'API :
- Service BLOB Microsoft Azure :
API Version 2014-02-14
- Service de Table Microsoft Azure :
API Version 2014-02-14
- Service de File d'attente Microsoft Azure :
API Version 2014-02-14
- Service BLOB Microsoft Azure :
- La méthode pour louer un blob permet maintenant de spécifier un paramètre
LeaseDuration
. Voir Microsoft Azure - Lease Blob (EN) pour plus d'informations sur le nouveau paramètreLeaseDuration
.
Modifications relatives au débogueur pour Seattle
Débogage à distance de périphériques iOS 64 bits
Dans Seattle, le débogage des applications iOS64 est désormais pris en charge. Dans l'EDI, F9 est maintenant activée lorsque Périphérique iOS 64 bits est la plate-forme cible.
Pour de plus amples informations sur la prise en charge du débogage distant pour les applications iOS 64 bits, voir Débogage d'apps exécutées sur le périphérique iOS 64 bits.
Gestion améliorée des exceptions macOS
Seattle assure une meilleure gestion des exceptions sur macOS.
Modifications relatives au framework de test pour Seattle
Dans Seattle, RAD Studio étend la prise en charge des tests unitaires DUnitX pour les plates-formes mobiles (iOS et Android). Ce framework de test vous permet désormais de développer et d'exécuter des tests sur le périphérique iOS et le simulateur Android et iOS.
Pour de plus amples informations, voir Présentation de DUnitX.
Frameworks et SDK intégrés
- Le Microsoft Windows 10 SDK est maintenant installé avec RAD Studio Seattle. RAD Studio Seattle prend également en charge les SDK suivants :
- Microsoft Windows 8.x SDK
- Microsoft Windows 7 SDK
- RAD Studio Seattle prend maintenant en charge Windows RT API (EN)(Windows Runtime API) et Windows API (EN).
Aide
Les applications exemples incluent des fichiers Readme améliorés
Dans le dossier des applications exemples, les sous-dossiers de projet incluent maintenant des fichiers readme HTML générés à partir du contenu de la documentation relative aux applications exemples. Ces fichiers readme contiennent des informations détaillées sur chaque application exemple, notamment une description, la procédure d'exécution de l'application exemple, et des liens vers les ressources d'aide associées.
La documentation des bibliothèques affiche les packages d'unités
Dans la documentation des bibliothèques, les pages unité affichent maintenant quel package contient chaque unité. Si vous voulez savoir quel package inclut une unité donnée, ouvrez la page de référence de l'API de cette unité, par exemple System.SysUtils ou FMX.Controls.
Afin de vous aider à trouver la documentation souhaitée plus facilement, nous fournissons maintenant des pages de levée d'ambiguïté ou des redirections pour les termes les plus recherchés dans la documentation des rubriques en ligne. Par exemple, recherchez datasnap, android, paserver ou listview.
Remarques relatives à macOS 10.11 et iOS 9
Correctif PAServer pour RAD Studio Seattle
Ce correctif permet de corriger les opérations suivantes :
- Construction d'applications macOS 10.11 (El Capitan)
- Construction d'applications iOS qui s'exécutent sur iOS 7, iOS 8 et iOS 9 à l'aide du SDK iOS 9.
Vous pouvez télécharger le correctif à partir de : http://cc.embarcadero.com/item/30398