Nouveautés de XE8
Remonter à Nouveautés des releases précédentes
Les releases XE8, XE8 Subscription Update 1 et XE8 General Update 1 comportent des fonctionnalités nouvelles ainsi que des améliorations.
Sommaire
- 1 Nouveautés de XE8 Mise à jour 1
- 2 Modifications relatives à FireMonkey pour XE8
- 2.1 Présentation native de TListView, TSwitch, TMemo, TCalendar, TMultiView et TEdit sur iOS
- 2.2 Interopérabilité améliorée entre la plate-forme et les contrôles stylés
- 2.3 Navigateurs Web de bureau
- 2.4 Cartes interactives
- 2.5 Nouvelles options pour la bibliothèque multimédia
- 2.6 Actions standard pour TMediaPlayer
- 2.7 Aperçu du positionneur de fiches
- 2.8 InputQuery prend désormais en charge le masquage des champs d'entrée
- 2.9 AppAnalytics dans FireMonkey
- 2.10 Personnalisation des notifications locales
- 2.11 La vue Android utilisée à l'exécution dépend des dimensions du périphérique cible
- 2.12 Enregistrement d'images dans l'album photo du périphérique
- 2.13 TImageList introduit les listes d'images en tant que collections centralisées d'images
- 2.14 Modifications et nouveautés dans l'API FireMonkey
- 3 Modifications relatives à la bibliothèque d'exécution (RTL) pour XE8
- 3.1 Nouvelle API de client HTTP
- 3.2 Prise en charge des beacons
- 3.3 Nouveau composant Classic Bluetooth
- 3.4 Nouvelle API pour les fonctions de hachage
- 3.5 Nouveaux types de données Delphi : FixedInt et FixedUInt
- 3.6 Modification de la taille de LongInt et LongWord pour les plates-formes iOS 64 bits
- 3.7 Bibliothèque de programmation asynchrone
- 4 Modifications relatives à la VCL pour XE8
- 5 Modifications relatives à Delphi pour XE8
- 6 Modifications relatives à C++ pour XE8
- 6.1 BCCIOSARM64.EXE: nouveau compilateur amélioré par Clang pour périphérique iOS 64 bits
- 6.2 Les noms entièrement qualifiés sont désormais requis lors de l'inclusion des packages d'exécution
- 6.3 Tableaux DynamicArray : la construction et l'initialisation sont désormais plus conviviales
- 6.4 SetApplicationMainFormOnTaskBar a été retirée de Vcl.Forms.hpp
- 6.5 Boost désormais disponible hors de l'installateur
- 6.6 Nouvelles procédures de gestion des méthodes anonymes Delphi
- 6.7 Opérateur d'assignation C++ en tant qu'opérateur implicite Delphi
- 7 Modifications relatives à l'EDI pour XE8
- 7.1 Nouvelle plate-forme cible : Périphérique iOS - 64 bits
- 7.2 Aperçu multi-périphérique
- 7.3 Gestionnaire de périphériques
- 7.4 Exécuter vos apps sur n'importe quel simulateur iOS
- 7.5 Ajouter des fichiers spécifiques s'ouvre automatiquement quand cela est nécessaire
- 7.6 Désactivation des bibliothèques Java RAD Studio intégrées pour Android à l'aide du Gestionnaire de projets
- 7.7 Système de contrôle de version Mercurial intégré dans l'EDI
- 7.8 Outil de migration des paramètres
- 7.9 Nouvelles options de signature du code des applications iOS
- 7.10 Nouvelle option pour la construction de fichiers binaires iOS prenant en charge iOS 32 bits et 64 bits
- 7.11 Le droit 'Recevoir les notifications push' n'est plus nécessaire pour les applications iOS
- 7.12 Intégration de Castalia
- 7.13 Programme d'expérience client
- 7.14 Changements visuels et personnalisation
- 8 Modifications relatives à la base de données et à la connectivité pour XE8
- 9 Modifications relatives au Concepteur de styles de bitmaps pour XE8
- 10 Modifications relatives aux logiciels tiers pour XE8
- 11 Modifications relatives au débogueur pour XE8
- 12 Modifications relatives au framework de test pour XE8
- 13 Modifications relatives à l'utilitaire graphique pour XE8
- 14 Modifications relatives à l'utilitaire de ligne de commande pour XE8
- 15 Modifications relatives aux exemples d'application pour XE8
- 16 Modifications relatives à l'aide
- 17 Rubriques
Nouveautés de XE8 Mise à jour 1
Consultez les listes ci-dessous pour voir les différentes fonctionnalités incluses dans XE8 Subscription Update 1 et dans XE8 General Update 1.
- Subscription Update 1 est destiné aux clients abonnés aux mises à jour.
- General Update 1 est destiné aux clients XE8 ne disposant pas d'un abonnement aux mises à jour.
Vous pouvez consulter des informations complémentaires sur les abonnements aux mises à jour (EN).
Nouveautés de XE8 Subscription Update 1
Subscription Update 1 est destiné aux clients abonnés aux mises à jour.
- Nouvelles fonctionnalités :
-
- Barre d'outils Communauté
- Projets favoris accessibles depuis la page d'accueil
- Recherche rapide des périphériques Bluetooth LE
- Prise en charge du simulateur iOS 8
- Corrections particulières :
-
- Renforcement de la robustesse des fonctionnalités de productivité de l'EDI
- Améliorations des prévisualisations multi-périphériques
- Nombreuses corrections supplémentaires. Veuillez vous reporter au site EDN pour une liste détaillée des corrections (EN).
Nouveautés de XE8 General Update 1
General Update 1 est destiné aux clients XE8 ne disposant pas d'un abonnement aux mises à jour.
- Nouvelles fonctionnalités :
-
- Barre d'outils Communauté
- Correction relative au simulateur iOS 8
- Ajout de fichiers manquants dans la livraison originale de XE8
Fonctionnalités de XE8 Mise à jour 1
Gestionnaire de packages GetIt
Le nom de la fenêtre GetIt ainsi que le nom de Gestionnaire de packages GetIt dans le menu Outils ont été mis à jour dans le Gestionnaire de packages GetIt.
GetIt compte désormais trois nouvelles options de filtrage : Gratuit, Achat et Acheté. Apprenez-en plus sur ces options dans la Fenêtre principale du Gestionnaire de packages GetIt.
Améliorations de FireDAC
Dans XE8, la propriété Unidirectional est synchronisée avec la propriété en lecture seule IsUniDirectional.
Changez la valeur de la propriété Unidirectional de votre TFDQuery ou de votre TFDTable pour convertir vos ensembles de données FireDAC en ensembles de données unidirectionnels.
Nouvelle barre d'outils Communauté Embarcadero
La nouvelle barre d'outils Communauté Embarcadero permet de se connecter aisément à la communauté sociale Embarcadero (EN). La barre d'outils figure dans le coin supérieur droit de l'EDI.
Accédez à Voir > Barres d'outils > Communauté Embarcadero pour afficher la barre d'outils ou la masquer.
Pour plus d'informations, voir Barre d'outils Communauté Embarcadero.
Projets favoris dans la Page d'accueil
La Page d'accueil inclut une section Projets favoris. Vous pouvez ajouter vos projets favoris à cette section. Visitez Projets favoris accessibles depuis la page d'accueil pour savoir comment ajouter ou retirer vos projets favoris.
Modifications relatives à FireMonkey pour XE8
FireMonkeyest notre bibliothèque propriétaire de programmation orientée objet (classes, méthodes, propriétés, etc.).
Présentation native de TListView, TSwitch, TMemo, TCalendar, TMultiView et TEdit sur iOS
Sur la plate-forme cible iOS, FireMonkey prend désormais en charge les présentations stylées et natives pour les contrôles TListView, TSwitch, TMemo, TCalendar, TMultiView et TEdit.
- Par défaut, lorsque vous ajoutez l'un de ces composants au Concepteur de fiches, RAD Studio utilise la présentation
Styled
. - Pour utiliser la présentation native sur la plate-forme cible iOS, définissez la nouvelle propriété ControlType sur
Platform
.
Pour plus d'informations, voir TPresentedControl.ControlType, TListViewBase.ControlType et Contrôles iOS natifs de FireMonkey.
Interopérabilité améliorée entre la plate-forme et les contrôles stylés
La propriété ControlType est désormais disponible pour plusieurs contrôles qui n'ont pas encore une présentation iOS native.
- La valeur de la propriété ControlType est utilisée seulement sur la plate-forme iOS ; elle est ignorée sur toutes les autres plates-formes.
- Les contrôles stylés qui incluent maintenant la propriété ControlType sont : TPanel, TButton, TSpeedButton, TCornerButton, TCheckBox, TRadioButton, TGroupBox, TStatusBar, TToolBar, TProgressBar, TTrackBar, TArcDial.
- Lorsque vous définissez la propriété ControlType sur Platform sur ces contrôles, ces derniers peuvent être dessinés sur le même plan d'ordre Z que les contrôles Platform (y compris les contrôles TWebBrowser et TMediaPlayer).
FireMonkey prend maintenant en charge le composant TWebBrowser sur les plates-formes de bureau (Windows et Mac OS X). Auparavant, TWebBrowser prenait en charge les plates-formes mobiles (Android et iOS). Toutes les fonctions basiques du navigateur Web sont disponibles (comme naviguer vers l'URL, revenir à la page précédente, passer à la page suivante, et ainsi de suite). Pour plus d'informations, voir Tutoriel mobile : Utilisation du composant Navigateur Web (iOS et Android).
Cartes interactives
Sur les plates-formes mobiles (Android et iOS), FireMonkey prend en charge le composant TMapView qui ajoute des cartes interactives à vos applications mobiles. Les fonctionnalités élémentaires de ce composant sont les suivantes :
- Quatre types de cartes : Normal, Satellite, Hybrid et (pour Android seulement) Terrain.
- Contrôle des mouvements : contrôles des mouvements d'inclinaison intuitive, de rotation et de zoom.
- Contrôle de la vue Carte : capacité de contrôler les propriétés de la carte comme les coordonnées du centre de la carte, l'orientation de la carte et ainsi de suite.
- Marqueurs personnalisés : capacité d'ajouter des marqueurs aux cartes.
IMPORTANT : Pour utiliser TMapView dans une app Android, vous devez préalablement obtenir une clé d'API Google Maps. En l'absence d'une clé d'API valide, une erreur d'exécution se produit. Pour des détails sur l'obtention de la clé d'API Google Maps, voir Configuration des applications Android pour utiliser Google Maps.
Pour plus d'informations et des exemples, voir Tutoriel mobile : Utilisation d'un composant Carte pour travailler avec des cartes (iOS et Android).
Nouvelles options pour la bibliothèque multimédia
FireMonkey fournit désormais une option pour enregistrer les photos prises par la caméra d'un périphérique dans la bibliothèque de photos de ce périphérique.
Si votre application gère les photos en utilisant les actions FireMonkey ou l'interface IFMXCameraService, vous pouvez utiliser la propriété TCustomTakePhotoAction.NeedSaveToAlbum ou un paramètre du type TParamsPhotoQuery pour que votre application enregistre automatiquement les photos dans la bibliothèque de photos du périphérique.
En outre, FireMonkey fournit l'interface IFMXPhotoLibrary qui vous permet d'enregistrer une image bitmap dans la bibliothèque de photos du périphérique.
Pour de plus amples informations et les exemples de code, voir :
- Prendre et partager des photos et du texte en utilisant les listes d'actions
- Prendre des photos en utilisant les interfaces FireMonkey
- IFMXPhotoLibrary.AddImageToSavedPhotosAlbum
Actions standard pour TMediaPlayer
FireMonkey fournit désormais les actions standard suivantes que vous pouvez utiliser pour contrôler toutes les instances de TMediaPlayer :
Aperçu du positionneur de fiches
Un positionneur de fiches est désormais disponible dans les projets FireMonkey. Le positionneur de fiches vous permet de positionner les fiches les unes par rapport aux autres, au fur et à mesure de la conception de votre application. Situé dans le coin inférieur droit du Concepteur, le positionneur de fiches montre le positionnement de votre fiche telle qu'elle apparaîtra à l'écran lors de l'exécution.
InputQuery prend désormais en charge le masquage des champs d'entrée
InputQuery vous permet désormais de marquer les champs comme masqués de manière à ce que les données d'entrée soient visuellement masquées sur l'écran. Pour marquer un champ comme masqué, dans un appel à InputQuery préfixez le nom du champ avec :
- Delphi : "#1". Par exemple, à la place du nom de champ 'Password', utilisez le nom de champ #1'Password'.
- C++ : "\1". Par exemple, à la place du nom de champ "Password", utilisez le nom de champ "\1Password".
AppAnalytics dans FireMonkey
FireMonkey prend désormais en charge AppAnalytics, ce qui vous permet de suivre l'usage des données de votre application. Vous devez uniquement déposer un composant TAppAnalytics dans votre application et définir certaines options du composant. Dès que TAppAnalytics est actif, l'usage des données est disponible en quelques minutes dans l'interface Web AppAnalytics.
- AppAnalytics est entièrement anonyme et ne collecte pas ni ne transmet les informations privées ou d'identification personnelle.
- Pour de plus amples informations, voir :
Personnalisation des notifications locales
Sons de notification personnalisés
Vous pouvez définir un son de notification personnalisé en paramétrant la valeur du champ SoundName. Pour plus d'informations, voir Tutoriel mobile : Utilisation des notifications (iOS et Android).
Répétition des notifications
Répétez une notification programmée au fil du temps en définissant la valeur de la propriété RepeatInterval. Pour plus d'informations, voir Tutoriel mobile : Utilisation des notifications (iOS et Android).
La vue Android utilisée à l'exécution dépend des dimensions du périphérique cible
Les deux tableaux suivants décrivent respectivement l'algorithme utilisé pour choisir la vue Android adaptée à l'exécution, et la plage des tailles de périphériques Android appropriées pour chaque vue :
- Algorithme de chargement des vues : Utilisation des vues FireMonkey
- Plages de tailles des périphériques qui correspondent à chaque vue Android : Exécution de votre application Android sur un périphérique Android
Enregistrement d'images dans l'album photo du périphérique
FireMonkey inclut désormais l'interface IFMXPhotoLibrary pour enregistrer des images dans l'album photo du système :
- Pour enregistrer une image bitmap dans l'album photo du périphérique, utilisez AddImageToSavedPhotosAlbum
Pour plus d'informations sur la procédure d'enregistrement des images dans l'album photo du périphérique, consultez MediaLibrary.IFMXPhotoLibrary et IFMXPhotoLibrary.AddImageToSavedPhotosAlbum.
TImageList introduit les listes d'images en tant que collections centralisées d'images
FireMonkey fournit maintenant des listes d'images via un nouveau composant, FMX.ImgList.TImageList. Les listes d'images procurent des outils complets pour l'utilisation de collections centralisées de petites images par les éléments de l'interface utilisateur graphique (contrôles, menus, etc.) dans vos applications FireMonkey. Le TImageList de FireMonkey a la même utilité que le Vcl.Controls.TImageList de la VCL, mais il fournit plus de fonctionnalités avancées et est plus pratique à utiliser dans des applications FireMonkey multiplates-formes.
Chaque image d'une liste est composée de plusieurs bitmaps multi-résolutions pour garantir que les images sont correctement affichées sur des périphériques ayant des résolutions et des densités d'écran variées. L'éditeur de listes d'images vous permet de préparer et de modifier des listes d'images FireMonkey.
Pour plus d'informations, voir Utilisation des listes d'images de TImageList en tant que collections centralisées d'images et Exemple FMX.ImageList.
Modifications et nouveautés dans l'API FireMonkey
Nouvel événement OnFilter
FireMonkey fournit le nouvel événement OnFilter pour définir des filtres personnalisés dans une zone de recherche.
Pour plus d'informations sur le nouvel événement OnFilter, consultez TListViewBase.OnFilter et TSearchBoxModel.OnFilter.
Définition d'un paramètre de capture de qualité personnalisé pour votre caméra
TVideoCaptureQuality a la nouvelle valeur CaptureSettings
pour définir un paramètre de capture de qualité personnalisé pour votre caméra.
- TCameraComponent : Pour définir une résolution des données de capture personnalisée, utilisez la propriété TCameraComponent.Quality.
- Utilisez TCameraComponent.AvailableCaptureSettings pour obtenir un tableau avec les configurations de paramètres de qualité possibles donnant la priorité à
Resolution
ou àFrameRate
. - Pour de plus amples informations, voir :
- Utilisez TCameraComponent.AvailableCaptureSettings pour obtenir un tableau avec les configurations de paramètres de qualité possibles donnant la priorité à
- TVideoCaptureDevice : Pour définir une résolution des données de capture personnalisée, utilisez la propriété TVideoCaptureDevice.Quality.
- Utilisez TVideoCaptureDevice.AvailableCaptureSettings pour obtenir un tableau avec les configurations de paramètres de qualité possibles donnant la priorité à
Resolution
ou àFrameRate
. - Pour de plus amples informations, voir :
- Utilisez TVideoCaptureDevice.AvailableCaptureSettings pour obtenir un tableau avec les configurations de paramètres de qualité possibles donnant la priorité à
Nouvelle classe TBoundingBox
TBoundingBox est une nouvelle classe, similaire à TRectF mais pour une utilisation en 3D. Elle définit un type d'enregistrement qui stocke les sommets (EN) maximal et minimal décrivant une zone.
Plusieurs constructeurs permettent de créer un TBoundingBox en se basant sur une origine, un nuage de points, des coordonnées ou un TBoundingBox existant. Cette classe fournit également d'autres méthodes parmi lesquelles on peut citer GetSize, Inflate, IntersectsWith, Contains, et Normalize.
Propriété PullRefreshWait pour la vue liste native iOS
La nouvelle propriété PullRefreshWait permet de définir si l'indicateur d'incrémentation animé, qui s'affiche lorsque PullToRefresh est égal à True
, disparaît automatiquement.
Si vous définissez PullRefreshWait sur True
, vous devez appeler la méthode StopPullRefresh pour masquer l'indicateur d'incrémentation animé lorsque cela est nécessaire.
La propriété PullRefreshWait s'applique aux contrôles iOS natifs uniquement.
Modifications relatives à la bibliothèque d'exécution (RTL) pour XE8
Nouvelle API de client HTTP
La RTL fournit plusieurs nouvelles unités réseau avec des membres qui vous permettent de créer un client HTTP, d'envoyer des requêtes vers des serveurs HTTP et de gérer leurs réponses.
Utilisation d'un client HTTP explique comment utiliser les deux nouveaux composants HTTP, TNetHTTPClient et TNetHTTPRequest pour gérer les requêtes HTTP. Voir également les principales classes de client HTTP :
- THTTPClient, qui représente un client HTTP.
- THTTPRequest, qui représente une requête de votre client à un serveur.
- THTTPResponse, qui représente la réponse du serveur à une requête de votre client.
Prise en charge des beacons
La RTL prend maintenant en charge l'utilisation des beacons (balises). Un beacon est un périphérique Bluetooth Low Energy. Il intègre dans ses données publicitaires des données spécifiques au fabricant ("Manufacturer Specific Data"), ce qui permet à tout périphérique recevant ces informations d'identifier le périphérique beacon et de calculer la distance qui les sépare, sans qu'il soit nécessaire de les appairer ou de les connecter.
Deux formats de beacon sont pris en charge :
- iBeacon (EN) - le format défini par Apple
- AltBeacon (EN) - un format ouvert, connu sous le nom de beacon alternatif, qui prend en charge Android et iOS
Utilisation des beacons explique comment implémenter une application beacon.
Nouveau composant Classic Bluetooth
L'unité System.Bluetooth.Components fournit désormais un nouveau composant : TBluetooth. Ce nouveau composant vous permet d'utiliser Classic Bluetooth sur vos applications en utilisant une approche basée sur les composants.
Voir Utilisation du protocole Classic Bluetooth pour apprendre à utiliser ce nouveau composant.
Nouvelle API pour les fonctions de hachage
La RTL a une nouvelle unité, System.Hash. Cette unité inclut les classes et les méthodes qui vous permettent d'utiliser les fonctions de hachage suivantes dans vos applications :
Nouveaux types de données Delphi : FixedInt et FixedUInt
Deux nouveaux types entiers 32 bits indépendants de la plate-forme ont été introduits dans XE8 :
FixedInt et FixedUInt garantissent la portabilité, une meilleure intégration et l'interopérabilité avec les plates-formes 32 bits et 64 bits. Ces deux nouveaux types assurent la prise en charge inter-langage entre Delphi et C++ pour vos applications.
La taille de FixedInt et FixedUInt est de 32 bits sur toutes les plates-formes 32 bits et 64 bits (iOS 64 bits, Windows 64 bits, Windows 32 bits, OSX32, iOS 32 bits et Android). Le tableau suivant présente les types équivalents entre les différentes plates-formes.
Types équivalents dans d'autres plates-formes | ||
---|---|---|
Plates-formes Windows (Windows 32 bits et 64 bits) |
Plates-formes OSX32 et Android, et plates-formes iOS (iOS 32 bits et 64 bits) | |
FixedInt | LongInt | Integer |
LongWord | Cardinal |
Pour de plus amples informations, voir :
Modification de la taille de LongInt et LongWord pour les plates-formes iOS 64 bits
LongInt et LongWord sont désormais des types entiers dépendants de la plate-forme.
Sur les plates-formes iOS 64 bits, les types LongInt et LongWord doublent la taille qui est prise en charge sur les plates-formes 32 bits (Windows 32 bits, OSX32, iOS 32 bits et Android) et sur les plates-formes Windows 64 bits, comme suit :
Taille | ||
---|---|---|
Plates-formes Windows 32 bits et 64 bits | Plates-formes iOS 64 bits | |
LongInt | 32 bits (4 octets) | 64 bits (8 octets) |
LongWord |
32 bits (4 octets) | 64 bits (8 octets) |
Pour plus d'informations, voir Types entiers dépendants de la plate-forme.
Bibliothèque de programmation asynchrone
La RTL prend en charge la programmation asynchrone dans TComponent.
Pour plus d'informations, voir Utilisation de la bibliothèque de programmation asynchrone.
Modifications relatives à la VCL pour XE8
SetApplicationMainFormOnTaskBar a été retirée de Vcl.Forms.hpp
Dans vos applications VCL C++ existantes, vous devez remplacer la ligne suivante :
SetApplicationMainFormOnTaskBar(Application, true);
par cette ligne :
Application->MainFormOnTaskBar = true;
Pour de plus amples informations, voir :
AppAnalytics dans la VCL
La VCL prend désormais en charge le composant TAppAnalytics. AppAnalytics vous permet de suivre l'usage des données de votre application. Vous devez uniquement déposer un composant TAppAnalytics dans votre application et définir certaines options du composant. Dès que AppAnalytics est actif, l'usage des données est disponible en quelques minutes dans l'interface Web AppAnalytics. AppAnalytics ne collecte pas et ne transmet pas les informations identifiables privées ou personnelles. Il est entièrement anonyme.
Pour plus d'informations, voir Présentation de AppAnalytics.
Nouveaux styles VCL
Trois nouveaux styles VCL inclus sur XE8 : Glow, Sky et Tablet Light.
Vous accédez aux styles VCL en sélectionnant Projet > Options > Application > Apparence.
Modifications relatives à Delphi pour XE8
DCCIOSARM64.EXE : nouveau compilateur pour périphérique iOS 64 bits
Le compilateur DCCIOSARM64.EXE est un nouveau compilateur NEXTGEN qui prend en charge le développement des apps iOS 64 bits.
Notez que l'App Store exige désormais que vos apps iOS 32 bits prennent également en charge les périphériques iOS 64 bits. Pour plus d'informations, voir Nouvelle option du compilateur pour la construction de fichiers binaires iOS prenant en charge iOS 32 bits et 64 bits.
Apps iOS universelles : DCCIOSARM64 prend en charge une nouvelle option sur la page Compilation de Options de projet : Générer le fichier binaire universel iOS (armv7 + arm64).
La définition de cette option sur True génère une app iOS universelle qui s'exécute sur les périphériques iOS 32 bits et 64 bits. Cette option est uniquement disponible lorsque la plate-forme cible est Périphérique iOS 64 bits.
Voir aussi Compilation conditionnelle (Delphi).
Deux nouveaux types de données : FixedInt et FixedUInt
Pour des détails, voir Nouveaux types de données Delphi : FixedInt et FixedUInt.
Modifications relatives à C++ pour XE8
BCCIOSARM64.EXE: nouveau compilateur amélioré par Clang pour périphérique iOS 64 bits
Nous avons ajouté un nouveau compilateur qui produit des applications iOS 64 bits : BCCIOSARM64.EXE, le compilateur C++ pour le périphérique iOS 64 bits.
Notez que l'App Store exige désormais que vos apps iOS 32 bits prennent également en charge les périphériques iOS 64 bits. RAD Studio comprend une option permettant de créer une app iOS 32 bits/64 bits universelle. Pour plus d'informations, voir Nouvelle option du compilateur pour la construction de fichiers binaires iOS prenant en charge iOS 32 bits et 64 bits.
BCCIOSARM64 prend en charge la nouvelle macro prédéfinie __arm64__
. Pour écrire du code spécifique à la plate-forme cible iOS 64 bits, vous pouvez utiliser :
#if defined (__arm64__)
...
#endif
Pour écrire du code spécifique à x64 (iOS et Windows), vous pouvez utiliser :
#if defined(__clang__) && (__POINTER_WIDTH__ == 64)
...
#endif
Pour plus d'informations, voir Macros prédéfinies.
Les noms entièrement qualifiés sont désormais requis lors de l'inclusion des packages d'exécution
Lors de la construction d'une application C++ VCL ou FireMonkey, l'EDI effectue une analyse des packages, c'est-à-dire qu'il évalue les packages requis/utilisés par l'application à partir des en-têtes inclus. Avant XE8, l'EDI utilisait le nom de base lors de la correspondance des en-têtes aux packages. Par exemple, en voyant qu'une application incluait SysUtils.hpp
, l'EDI en déduisait que l'application utilisait le package rtl
. De même, #include ActnCtrls.hpp
signifie que l'application utilisait le package vcl
.
Néanmoins, l'utilisation du nom de base a des inconvénients. Une application incluant un en-tête nommé About.h|hpp
pourrait présumer à tort la nécessité du package FireDac UI, car celui-ci contient une unité nommée FireDAC.VCLUI.About.hpp
. De même, l'inclusion de assert.h
pourrait provoquer un déclenchement par l'EDI de la liaison au package DUnitXRuntime (il contient une unité nommée DUnitX.Assert
).
Nom qualifié correspondant uniquement
A partir de XE8, l'EDI considère désormais qu'un package est requis uniquement lorsqu'il existe une instruction #include
pour le nom qualifié/complet d'une unité de ce package. Ce qui signifie qu'en voyant
#include <XMLDoc.hpp>
, l'EDI ne considère pas que le package Xml
est requis. L'EDI inclut uniquement le package xmlrtl
si vous spécifiez le nom entièrement qualifié : #include <Xml.XMLDoc.hpp>
.
Cette modification affecte uniquement les nouveaux projets
La modification s'applique aux nouveaux projets, ou lorsqu'un projet existant commence à utiliser un package qu'il n'avait jamais utilisé auparavant.
Cette modification n'affecte pas les projets existants, car leurs exigences en matière de packages ont déjà été évaluées et enregistrées dans le fichier projet (<nom_projet>.cbproj
).
Nouvelles macros définies
Pour vous aider à surveiller votre utilisation des noms de packages entièrement qualifiés, les deux nouvelles macros suivantes ont été définies :
- WARN_LEGACY_HEADER_USAGE - Génère un avertissement lorsqu'un en-tête non qualifié est inclus
- ERROR_LEGACY_HEADER_USAGE - Génère une erreur lorsqu'un en-tête non qualifié est inclus
Si vous ajoutez #define WARN_LEGACY_HEADER_USAGE
et que vous entrez ensuite #include <SysUtils.hpp>
, l'avertissement suivant apparaît après la prochaine construction :
Include <System.SysUtils.hpp> instead
Si vous ajoutez #define ERROR_LEGACY_HEADER_USAGE
et que vous entrez ensuite #include <SysUtils.hpp>
, le message d'erreur suivant apparaît après la prochaine construction :
Fatal F1003 $BDS\include\windows\rtl\SysUtils.hpp 8: Error directive: Include 'System.SysUtils.hpp' instead *** 1 errors in Compile ***
Tableaux DynamicArray : la construction et l'initialisation sont désormais plus conviviales
Auparavant, vous deviez définir la longueur d'un DynamicArray avant d'ajouter les éléments, comme ceci :
DynamicArray<int> test;
test.Length = 3;
test[0] = 1;
test[1] = 2;
test[2] = 3;
Maintenant, vous pouvez simultanément initialiser et construire un tableau dynamique lorsque vous utilisez l'un des compilateurs C++ améliorés par Clang:
DynamicArray<int> test = {0, 1, 2};
Pour BCC32, vous pouvez initialiser et construire le tableau comme suit :
DynamicArray<int> test(0, 1, 2);
La nouvelle syntaxe a été implémentée en utilisant C++11 std::initializer_list.
Nouvelles fiches
Pour tous nos compilateurs C++
En utilisant un tableau C++ simple :
// template <size_t SIZE> System::DynamicArray(T(&array)[SIZE]);
int values[] = { 1, 2, 3, 4, 5 };
System::DynamicArray<int> h(values);
Pour les compilateurs C++ améliorés par Clang
Liste d'initialiseurs C++11 :
// System::DynamicArray(std::initializer_list<T> il);
System::DynamicArray<char> ArrayOfChars('a', 'b', 'c');
System::DynamicArray<int> ArrayOfInts(0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18);
Constructeur basé sur un modèle variadic C++11 :
// template <class... Types> System::DynamicArray(const T &t, Types && ...values);
System::DynamicArray<char> c('a'); // t='a', ...values=<>
System::DynamicArray<char> d('a', 'b', 'c'); // t='a', ...values=<'b', 'c'>
Pour BCC32
Etant donné que BCC32 ne prend pas en charge l'initialisation uniforme C++11, nous avons ajouté des surcharges de constructeur pour 2 à 19 paramètres :
// System::DynamicArray(const T &t0, const T &t1, const T &t2);
System::DynamicArray<char> f('a', 'b', 'c');
// System::DynamicArray(const T &t0, const T &t1, const T &t2, const T &t3,
// const T &t4, const T &t5, const T &t6, const T &t7,
// const T &t8, const T &t9, const T &t10, const T &t11,
// const T &t12, const T &t13, const T &t14, const T &t15,
// const T &t16, const T &t17, const T &t18);
System::DynamicArray<int> g( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18);
Pour plus d'informations, voir Types structurés (Delphi).
SetApplicationMainFormOnTaskBar a été retirée de Vcl.Forms.hpp
Pour plus de détails, voir Modifications relatives à la VCL pour XE8.
Boost désormais disponible hors de l'installateur
Les bibliothèques Boost ne font plus partie de l'installateur du produit. Vous pouvez facilement obtenir Boost en sélectionnant Outils > GetIt pour ouvrir la fenêtre principale de GetIt, puis en choisissant d'installer Boost à partir de GetIt.
Pour les autres façons d'installer (ou de désinstaller) Boost, voir Boost.
Nouvelles procédures de gestion des méthodes anonymes Delphi
Nous avons mis à jour la procédure recommandée pour la gestion des méthodes anonymes Delphi dans vos applications C++. La description révisée, dans Comment gérer les méthodes anonymes Delphi dans C++, utilise un Functor (objet fonction) ou une expression Lambda. Voir les exemples de code sur la page.
Opérateur d'assignation C++ en tant qu'opérateur implicite Delphi
En C++, il est possible d'utiliser operator=
pour l'assignation du type de résultat, exactement comme l'opérateur implicite utilisé en Delphi.
Prenons, par exemple, la variable myVar
avec le type TValue ; en Delphi, il est possible d'assigner des types différents à cette variable en procédant comme suit :
a := 'assigning a string';
a := 123;
a := 3.14;
Auparavant, en C++, sans l'opérateur d'assignation, vous auriez dû l'écrire ainsi :
a = TValue::_op_Implicit(UnicodeString(L"assigning a string"));
a = TValue::_op_Implicit(123);
a = TValue::_op_Implicit(3.14L);
Désormais, en C++, avec l'opérateur d'assignation, vous pouvez l'écrire ainsi :
a = UnicodeString(L"assigning a string");
a = 123;
a = 3.14L;
Pour plus de détails, voir Opérateur d'assignation C++ en tant qu'opérateur implicite Delphi.
Modifications relatives à l'EDI pour XE8
Nouvelle plate-forme cible : Périphérique iOS - 64 bits
Pour créer une app pour la nouvelle plate-forme Périphérique iOS - 64 bits :
- Ajoutez la nouvelle plate-forme Périphérique iOS - 64 bits en tant que plate-forme cible dans le Gestionnaire de projets.
- Ajoutez le SDK pour la nouvelle plate-forme Périphérique iOS - 64 bits.
- Compilez vos applications Delphi ou C++ pour les périphériques iOS 64 bits :
- Vous pouvez soumettre vos apps iOS 64 bits à l'App Store.
- L'App Store accepte uniquement les fichiers d'archive d'application qui prennent en charge les périphériques iOS 64 bits. RAD Studio vous permet de générer des fichiers binaires universels iOS qui prennent en charge à la fois 32 bits et 64 bits.
Aperçu multi-périphérique
Avec le nouvel aperçu multi-périphérique, vous pouvez obtenir un aperçu de l'aspect de votre application sur différents périphériques. La fonctionnalité Aperçu multi-périphérique procure un aperçu de la zone de conception sur différents périphériques. Vous pouvez sélectionner les périphériques à utiliser pour l'aperçu.
Pour ouvrir la fenêtre Aperçu multi-périphérique, choisissez Voir > Aperçu multi-périphérique.
Pour plus d'informations sur cette fonctionnalité, voir Aperçu multi-périphérique.
Gestionnaire de périphériques
Le Gestionnaire de périphériques affiche une grille avec les périphériques prédéfinis disponibles. Les périphériques prédéfinis sont une liste de périphériques disponibles à la conception, par exemple dans la fenêtre Aperçu multi-périphérique.
Pour ouvrir le Gestionnaire de projets, choisissez Outils > Options > Options d'environnement > Concepteur de fiches > Gestionnaire de périphériques.
Le Gestionnaire de périphériques vous permet d'ajouter, de modifier et de supprimer un périphérique prédéfini en utilisant la fenêtre Paramètres du périphérique.
Les périphériques prédéfinis peuvent également être utilisés comme vues de votre projet multi-périphérique si la vue a été recensée en installant le package associé.
Le Gestionnaire de périphériques gère le fichier DevicePresets.xml
.
- Remarque : Dans XE8, le fichier
MobileDevices.xml
a été renomméDevicePresets.xml
.
Exécuter vos apps sur n'importe quel simulateur iOS
Le noeud Cible du noeud de plate-forme Simulateur iOS dans le Gestionnaire de projets affiche à présent la liste complète des simulateurs pris en charge par l'installation Xcode sur votre Mac. Le Gestionnaire de projets indique également la version d'iOS de chaque simulateur ; vous pouvez d'ailleurs exécuter vos applications sur un modèle de périphérique donné exécutant l'une quelconque des versions d'iOS prises en charge.
Ajouter des fichiers spécifiques s'ouvre automatiquement quand cela est nécessaire
Lorsque vous ajoutez au Gestionnaire de projets un fichier susceptible de vous obliger à ajouter un certain nombre de fichiers spécifiques à la configuration de déploiement de votre projet, RAD Studio ouvre une vue filtrée de la boîte de dialogue Ajouter des fichiers spécifiques pour vous permettre d'inclure les fichiers spécifiques requis dans la configuration de déploiement de votre projet. Voir Liste filtrée Ajouter des fichiers spécifiques pour plus d'informations.
Désactivation des bibliothèques Java RAD Studio intégrées pour Android à l'aide du Gestionnaire de projets
Dans XE8, le Gestionnaire de projets liste les bibliothèques Java RAD Studio intégrées pour Android, et vous pouvez désactiver l'une quelconque de ces bibliothèques. Pour alléger la taille de l'application, vous pouvez désactiver les bibliothèques Java qui ne sont pas nécessaires à son fonctionnement. Pour plus d'informations, voir Utilisation des bibliothèques Java RAD Studio intégrées pour Android.
Dans XE7, le Gestionnaire de projets vous permettait d'ajouter aisément des bibliothèques Java personnalisées à vos applications Android. Cependant, pour supprimer des bibliothèques Java que RAD Studio intègre par défaut aux applications Android et qui sont devenues inutiles, vous deviez créer et déployer manuellement un fichier classes.dex
personnalisé.
Système de contrôle de version Mercurial intégré dans l'EDI
RAD Studio prend désormais en charge un nouveau système de contrôle de version intégré dans l'EDI, pour la gestion et le suivi des modifications dans vos projets : le système de contrôle de version distribué Mercurial.
Le Gestionnaire de l'historique présente désormais les informations des journaux du contrôle de version Mercurial intégré à partir de votre référentiel local. Vous trouverez plus d'informations sur le suivi des modifications de votre projet dans les onglets Contenu, Informations et Différences.
Vous pouvez utiliser Mercurial pour :
- Cloner une copie de votre référentiel Mercurial distant et commencer à travailler avec.
- Valider les modifications apportées à votre référentiel local.
- Afficher les données du journal du référentiel distant relatives à votre projet.
Dans XE8, certaines fonctionnalités Git ont été ajoutées dans l'EDI :
- Authentifier votre référentiel privé distant.
- Placer vos modifications dans le référentiel Git distant et les extraire, en mettant à jour votre copie de travail avec les dernières modifications distantes.
Pour plus d'informations sur les systèmes de contrôle de version intégrés dans l'EDI, voir :
- Systèmes de contrôle de version dans l'EDI
- Intégration de Mercurial dans l'EDI
- Intégration de Git dans l'EDI
Outil de migration des paramètres
Le nouvel outil de migration des paramètres fourni avec RAD Studio XE8 vous permet d'importer et d'exporter des paramètres de configuration entre RAD Studio et Appmethod ainsi qu'entre différentes versions des produits.
L'outil de migration prend en charge Borland Delphi 7 et toutes les versions ultérieures.
Avec l'outil de migration des paramètres, vous pouvez :
- Exporter des paramètres vers un fichier de migration : pour générer un fichier d'exportation XML avec l'extension
.idesettings
. - Importer des paramètres à partir d'un fichier de migration : pour importer le fichier XML précédemment exporté avec l'extension
.idesettings
. - Migrer les paramètres vers une version plus récente : pour migrer les paramètres automatiquement vers une version plus récente de RAD Studio installée sur la même machine.
- Restaurer les paramètres depuis une sauvegarde : RAD Studio crée automatiquement une sauvegarde avant de redéfinir les paramètres. Vous pouvez restaurer des paramètres sauvegardés précédemment.
Vous pouvez trouver l'outil migrationtool.exe via le chemin d'accès suivant : C:\Program Files (x86)\Embarcadero\Studio\16.0\bin
.
Consultez la page Outil de migration des paramètres pour plus de détails.
Nouvelles options de signature du code des applications iOS
Vous pouvez désormais sélectionner les données de signature que RAD Studio utilise pour signer le code de vos applications iOS.
Sur la page Approvisionnement, pour les types de construction Périphérique iOS (Développement, Ad hoc, Magasin d'applications) vous pouvez sélectionner :
- Profil d'approvisionnement : le profil d'approvisionnement qui est installé dans le périphérique cible.
- Certificat Développeur : le certificat Développeur ou Distribution qui est installé sur le Mac.
Si vous laissez l'une de ces valeurs sur Auto
, RAD Studio sélectionne un profil d'approvisionnement et un certificat développeur appropriés, qui correspondent au CFBundleIdentifier et au périphérique cible. Pour plus de détails, voir Compléter la page Approvisionnement.
Nouvelle option pour la construction de fichiers binaires iOS prenant en charge iOS 32 bits et 64 bits
A partir du 1er février 2015 (EN), toutes les nouvelles apps iOS soumises à l'App Store doivent inclure la prise en charge 64 bits. Ce qui signifie que les applications destinées aux périphériques exécutant iOS 32 bits doivent également prendre en charge iOS 64 bits.
L'EDI fournit une nouvelle option de compilateur pour la plate-forme cible iOS 64 bits, Générer le fichier binaire universel iOS (armv7 + arm64).
Lorsque vous activez cette option et déployez votre application, l'EDI génère un fichier binaire multi-architecture (EN) (Fat binary) qui prend en charge iOS 32 bits et 64 bits.
Vous pouvez trouver cette option dans :
- Projet > Options > Compilateur Delphi > Compilation > Autres options (Delphi)
- Projet > Options > Compilateur C++ > Avancées > Autres options (C++)
Le droit 'Recevoir les notifications push' n'est plus nécessaire pour les applications iOS
Pour activer la réception des messages de notification push dans les applications iOS, il n'est pas nécessaire de définir d'autres options de projet Droit.
RAD Studio signe le code de l'app iOS en utilisant un profil d'approvisionnement qui autorise les services de notification push sur le périphérique où l'app est installée.
Voir Notifications push pour de plus amples informations.
Intégration de Castalia
XE8 intègre Castalia avec un menu dédié dans l'EDI. Castalia ajoute des fonctionnalités vous permettant d'effectuer certaines tâches plus facilement. Les fonctionnalités de Castalia sont divisées en 4 sections :
- Fonctionnalités visuelles : éléments visuels ajoutés à l'éditeur de code pour une meilleure compréhension de la structure et de l'exécution du flux de votre code.
- Contrôles dans l'éditeur de code : contrôles ajoutés à l'EDI pour vous aider à naviguer dans votre code.
- Fonctionnalités non visuelles : ensemble de raccourcis qui fournit des fonctionnalités à utiliser lors de l'écriture du code.
- Menu Castalia : fonctionnalités et statistiques de votre code qui sont accessibles par le biais du nouveau menu dédié.
Présentation de Castalia vous montre comment utiliser les fonctionnalités de Castalia.
Programme d'expérience client
L'EDI intègre une nouvelle option pour participer au programme d'expérience client. Vous pouvez rejoindre ce programme afin d'aider Embarcadero à améliorer RAD Studio.
Le programme d'expérience client collecte des informations sur l'usage de l'EDI pendant votre session (la fréquence de lancement de RAD Studio, la navigation dans l'EDI, etc.). Ces informations sont totalement anonymes, car le programme ne collecte pas et ne transmet pas d'informations privées ou d'identification personnelle.
Vous pouvez trouver cette option dans :
- Outils > Options > Options d'environnement > Programme d'expérience client
Pour plus de détails, voir la page Programme d'expérience client.
Changements visuels et personnalisation
Dans XE8, l'apparence de l'EDI a changé. Voir Clés de registre système pour les paramètres visuels de l'EDI pour de plus amples informations sur la personnalisation de l'apparence de l'EDI. Pour annuler certains changements et redonner l'apparence de l'EDI de XE7 à l'EDI de XE8, procédez comme suit :
- Créez un nouveau document texte (vous pouvez utiliser n'importe quel éditeur de texte) et copiez-y le texte suivant : Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Embarcadero\BDS\16.0\ModernTheme] "FontName"="MS Sans Serif" "FontSize"=dword:00000008 "MainToolBarColor"="clBtnFace"
- Enregistrez le fichier avec l'extension
.reg
. - Exécutez le fichier. Un avertissement concernant la modification du registre s'affiche. Vous devez l'accepter pour appliquer les changements.
-
- Remarque : Vous devez avoir des permissions Administrateur pour pouvoir exécuter les fichiers script de registre. Si l'EDI était ouvert lorsque vous avez défini ou changé les valeurs de registre, vous devez redémarrer l'EDI pour que les valeurs prennent effet.
-
Modifications relatives à la base de données et à la connectivité pour XE8
Modifications relatives à FireDAC
- Nouveau pilote natif de base de données Teradata FireDAC (
TData
) basé sur le pilote ODBC de base de données Teradata. Voir Connexion à la base de données Teradata. - Le pilote FireDAC Sqlite est mis à jour dans XE8. Pour des informations détaillées, voir Connexion à une base de données SQLite (FireDAC).
- Migrez vos applications dbExpress existantes pour utiliser des technologies de base de données plus récentes comme FireDAC. Pour des informations sur la migration, voir Migration des applications dbExpress vers FireDAC.
- Suivez les étapes dans Migration d'applications DbExpress (FireDAC) pour migrer votre application dbExpress Delphi.
Vous devez mettre à jour votre code FireDAC existant pour tenir compte des modifications API suivantes :
Membres de base* | Modifications |
---|---|
FireDAC.Comp.Client.TFDAdaptedDataSet.OnError |
Dans XE7, Dans XE8, |
Dans XE7, le deuxième paramètre était Dans XE8, le deuxième paramètre est maintenant | |
Dans XE7, Dans XE8, |
- * Les modifications affectent également les membres hérités listés.
Services de mobilité d'entreprise
- Le serveur de la console EMS affiche à présent les données à partir de la nouvelle ressource Installations EMS et affiche deux nouveaux graphes de statistiques :
- Nombre d'appels des utilisateurs
- Appels des utilisateurs à l'API du serveur EMS.
- Pour plus d'informations, voir les nouveaux graphes dans l'interface utilisateur de la console EMS.
- Le serveur de la console EMS vous permet également d'enregistrer les données issues des statistiques dans un fichier
.csv
.- Pour plus d'informations, voir Exportation des données issues des statistiques dans un fichier.
- L'API administrative EMS du serveur EMS a été étendue avec deux nouvelles ressources EMS :
- Installations EMS, une nouvelle ressource publique qui stocke les données sur les périphériques recensés d'une application client de notification push EMS.
- Ressource Push EMS, une nouvelle ressource qui stocke les données sur les messages de notification push envoyés à partir du serveur EMS vers les périphériques recensés.
- Vous pouvez à présent utiliser la nouvelle TEMSInternalAPI lors de l'écriture d'une ressource personnalisée EMS. La TEMSInternalAPI autorise une ressource personnalisée à appeler d'autres points de terminaison EMS dans le serveur EMS.
- Vous pouvez utiliser la nouvelle TEMSClientAPI à partir de votre application client EMS pour appeler des points de terminaison EMS dans le serveur EMS.
- Vous pouvez facilement diffuser le contenu en utilisant la nouvelle fonctionnalité EMS pour envoyer des messages de notification push EMS aux périphériques recensés dans votre serveur EMS.
- Pour plus d'informations, voir la section Notifications push EMS et suivez le tutoriel Tutoriel mobile : Utilisation des notifications distantes (iOS et Android).
- Vous pouvez créer une ressource personnalisée afin de prendre en charge l'autorisation des informations d'authentification externes lors de la procédure de connexion et d'identification sur votre serveur EMS.
Pour plus d'informations, voir :
Application EMS Management Console
L'application EMS Management Console est une application exemple livrée avec RAD Studio que vous pouvez utiliser pour gérer les données EMS stockées dans votre serveur EMS et envoyer des messages de notification push EMS vers vos périphériques recensés. Vous pouvez personnaliser cette application selon vos besoins, en utilisant le code source exemple livré avec RAD Studio.
Avec l'application EMS Management Console, vous pouvez :
- Gérer les utilisateurs EMS de votre serveur EMS. Vous pouvez ajouter, mettre à jour ou supprimer des données d'utilisateurs EMS ; ajouter un utilisateur EMS à un groupe EMS.
- Gérer les groupes EMS créés dans votre serveur EMS. Vous pouvez créer un nouveau groupe EMS, mettre à jour ses données ; ajouter ou supprimer des utilisateurs EMS d'un groupe EMS.
- Gérer les données à partir des périphériques recensés dans votre serveur EMS.
- Envoyer des messages de notification push EMS vers les périphériques recensés dans votre serveur EMS.
Pour plus d'informations sur la procédure d'utilisation de l'application EMS Management Console et sur l'emplacement du code source, voir Application EMS Management Console.
Compatibilité des bases de données avec le périphérique iOS 64 bits
La plate-forme Périphérique iOS 64 bits a été ajoutée à XE8. La compatibilité de cette nouvelle plate-forme avec le système de gestion des bases de données (SGBD) est identique à la compatibilité proposée par la plate-forme Périphérique iOS 32 bits :
- FireDAC : DataSnap, InterBase, IBLite/IBToGo et SQLite. Pour plus d'informations, voir Compatibilité des bases de données FireDAC.
- dbExpress : DataSnap, IBLite/IBToGo et SQLite. Pour plus d'informations, voir Compatibilité des bases de données dbExpress.
Modifications relatives au Concepteur de styles de bitmaps pour XE8
- Le Concepteur de styles de bitmaps a été mis à jour pour offrir de nouveaux modèles de style pour les versions actuellement prises en charge d'iOS et d'Android.
- {{Le bouton Nouveau style présente une sélection de templates de style, y compris iOS, Android, VCL, Windows, Mac OS X, Metropolis UI, et divers styles vierges.
- Vous pouvez créer des objets pour différentes résolutions en utilisant les nouvelles commandes du menu Style telles que Ajouter de nouveaux objets pour le graphique résolution 1.5x, Ajouter de nouveaux objets pour le graphique résolution 2.0x et Ajouter de nouveaux objets pour le graphique résolution 3.0x.
- Vous pouvez désormais ajouter des templates d'objet en utilisant le nouveau bouton Ajouter un template d'objet de la barre d'outils. En utilisant la structure d'objets par défaut, vous avez seulement besoin d'effectuer des ajustements aux prédéfinitions et d'assigner des propriétés à votre guise.
- Vous pouvez créer automatiquement d'autres résolutions appropriées de vos objets en utilisant la nouvelle commande de menu contextuel Ajuster automatiquement l'objet pour toutes les résolutions graphiques.
- Vous pouvez tester vos objets personnalisés (et les tester sous différentes résolutions) en utilisant les nouvelles commandes de menu contextuel Tester le style d'objet.
Modifications relatives aux logiciels tiers pour XE8
Box2D pour Delphi et C++
RAD Studio fournit désormais Box2D, un moteur physique à code source libre pour les jeux. Vous pouvez utiliser Box2D dans les applications Delphi et C++ RAD Studio.
Modifications relatives au débogueur pour XE8
Le débogage des apps iOS64 n'est pas pris en charge (F9
n'est pas activé lorsque Périphérique iOS 64 bits est la plate-forme cible).
A la place, vous devez définir Périphérique iOS 32 bits en tant que plate-forme cible, terminer votre débogage, puis reconstruire votre app pour la plate-forme cible Périphérique iOS 64 bits.
Modifications relatives au framework de test pour XE8
RAD Studio fournit désormais une prise en charge de DUnitX pour Delphi et C++Builder. Ce framework de test vous permet de développer et d'exécuter des tests sur des applications Win32, Win64 et MacOSX. DUnitX fournit son propre ensemble de méthodes pour tester un grand nombre de conditions. Ces méthodes représentent des assertions communes bien que vous puissiez créer vos propres assertions personnalisées.
Pour plus d'informations, voir Présentation de DUnitX.
Modifications relatives à l'utilitaire graphique pour XE8
Nouveau gestionnaire de packages GetIt
RAD Studio fournit un nouvel utilitaire graphique : GetIt. GetIt est un gestionnaire de packages qui vous permet de naviguer, de télécharger et d'installer facilement et gratuitement des packages GetIt sur RAD Studio. Les packages GetIt fournissent des bibliothèques, des composants, des extensions de l'EDI, des SDK et davantage.
Pour de plus amples informations, voir Gestionnaire de packages GetIt.
Modifications relatives à l'utilitaire de ligne de commande pour XE8
Deux nouveaux compilateurs pour iOS 64 bits :
- BCCIOSARM64.EXE, le compilateur C++ pour le périphérique iOS 64 bits
- DCCIOSARM64.EXE, le compilateur Delphi pour le périphérique iOS 64 bits
Modifications relatives aux exemples d'application pour XE8
Les exemples qui ont été retirés de la version XE6 sont disponibles sur SourceForge et le Docwiki de XE6
Voir Exemples produit des anciennes versions (EN) pour plus d'informations sur l'accès aux exemples produit qui ont été retirés de RAD Studio XE6.
Modifications relatives à l'aide
Nouveau système d'aide hors ligne (l'aide CHM remplace l'aide H2)
Les fichiers d'aide hors ligne livrés avec RAD Studio sont désormais au format Aide HTML compilée de Microsoft, également appelé CHM. Pour plus d'informations, voir Utilisation de l'aide - CHM. Auparavant, l'aide hors ligne était livrée au format H2 et pouvait être visualisée en utilisant Microsoft DExplore.
La visionneuse Aide HTML compilée de Microsoft peut uniquement afficher l'aide hors ligne. Pour accéder à l'aide en ligne, vous devez soit l'ouvrir vous-même, soit cliquer sur Page Wiki en cours en bas de n'importe quelle page de l'aide hors ligne. Vous ne pouvez plus choisir d'afficher l'aide en ligne ou l'aide hors ligne dans la visionneuse de l'aide hors ligne.
Vous pouvez créer vos propres fichiers d'aide CHM et les lier à RAD Studio. Pour plus d'informations, voir Fournir l'aide pour vos composants.