Nouveautés de XE7

De RAD Studio
Aller à : navigation, rechercher

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


La release XE7 contient de nombreuses fonctionnalités innovantes et améliorées.

Sommaire

Modifications relatives à FireMonkey pour XE7

Les applications multi-périphériques FireMonkey prennent en charge les plates-formes mobiles et de bureau

Vous n'avez plus à choisir entre la création d'une application de bureau et la création d'une application mobile. Les applications FireMonkey sont désormais appelées applications multi-périphériques, et elles prennent en charge par défaut toutes les plates-formes cible disponibles.

FireMonkey utilise la nouvelle API Google Mobile Ads pour Android

FireMonkey utilise désormais le nouveau SDK Google Mobile Ads (EN)pour fournir des fonctionnalités publicitaires sur les périphériques Android.

Auparavant, FireMonkey utilisait le SDK Google AdMob, qui est désormais obsolète. Google a annoncé qu'à partir du 1er août 2014, le Play Store n'accepterait plus d'applications construites avec le SDK Google AdMob. Veuillez mettre à jour vos apps Android existantes pour qu'elles utilisent Google Mobile Ads à la place de AdMob. Voir Utilisation du service AdMob.

Nouveau composant TMultiView

FireMonkey prend en charge le nouveau composant TMultiView qui vous permet d'implémenter une interface maître-détail, utilisable pour toute plate-forme cible prise en charge.

  • Le volet maître peut afficher une collection de contrôles visuels, tels que des zones d'édition, des libellés, des listes, et ainsi de suite.
  • Le volet détail affiche typiquement des informations basées sur les propriétés des contrôles du volet maître.

Pour de plus amples informations sur ce composant et une application exemple, voir Tutoriel mobile : Utilisation d'un composant Vue multiple pour afficher d'autres vues d'informations (iOS et Android)

Présentation native de TEdit et TCalendar sur iOS

Sur la plate-forme cible iOS, FireMonkey prend désormais en charge les présentations stylées et natives pour les composants TEdit et TCalendar.

  • Par défaut, lorsque vous ajoutez l'un de ces composants au Concepteur de fiches, RAD Studio utilise la présentation stylée.
  • Pour utiliser la présentation native sur la plate-forme cible iOS, définissez la nouvelle propriété TPresentedControl.ControlType sur Platform.

Pour plus d'informations, voir TPresentedControl.ControlType et Contrôles iOS natifs de FireMonkey.

Remarque : La classe FMX.DateTimeCtrls.TCalendar a été déplacée vers sa propre unité, FMX.Calendar. Si vos apps pré-existantes utilisent TCalendar, vérifiez que FMX.Calendar est présent dans les uses/includes.

Prise en charge multi-affichage

Si votre application s'exécute sur plusieurs affichages, le framework d'application GUI que vous utilisez gère efficacement la disposition de l'interface utilisateur de votre application sur ces différents affichages.

Si votre application FireMonkey s'exécute sur plusieurs affichages, TScreen gère une liste et un nombre d'affichages actifs ainsi que leurs dimensions. Elle fournit aussi les méthodes pour obtenir l'affichage contenant une fiche ou un point. [[Prise en charge des affichages multiples|La prise en charge des affichages multiples dans le framework FireMonkey est semblable à laprise en charge multi-moniteur]] dans les applications VCL.}}

Prise en charge multi-tactile et modifications liées aux mouvements

  • La nouvelle unité FMX.MultiTouch contient un TMultiTouchManager.
  • Le nouvel événement OnTouch gère les mouvements qui sont de purs mouvements (jamais interprétés comme des événements de souris).
  • TForm et TControl ont désormais un événement OnTap pour les touches de l'utilisateur par le biais d'un doigt ou d'un périphérique similaire (pas une souris).

Mode immersif plein écran pour les périphériques Android

Vous pouvez activer le mode plein écran immersif dans vos apps Android 4.4 (KitKat). Pour activer le mode immersif, FMX.Forms.TForm.FullScreen doit être défini sur True.

Notez que les apps Google Glass sont par définition en mode immersif plein écran.

Propriétés Size et PlatformDefault dans TControl

Une nouvelle propriété, Size, a été ajoutée à TControl pour fournir la gestion et le stockage de la taille d'un contrôle. La propriété Size est un type d'objet (TControlSize) qui introduit un nouveau champ, PlatformDefault, défini sur True par défaut. PlatformDefault permet aux contrôles de se redimensionner eux-mêmes automatiquement à la taille prédéfinie correcte pour la plate-forme d'exécution. Les propriétés Width et Height de TControl sont toujours présentes, mais leurs valeurs sont désormais enregistrées dans l'objet TControlSize au lieu des champs width et height distincts.

Paramètre PlatformDefault pour TTabPosition sur les apps mobiles

L'énumération FMX.TabControl.TTabPosition contient une nouvelle valeur, PlatformDefault, qui définit la position de l'onglet selon le comportement par défaut de la plate-forme cible, comme suit :

  • TTabPosition = Bottom pour les apps iOS
  • TTabPosition = Top pour les apps Android

Voir Tutoriel mobile : Utilisation des composants Onglet pour afficher des pages (iOS et Android).

FireMonkey prend en charge la fonctionnalité Dérouler-Actualiser pour TListView sur iOS et Android

XE7 propose la fonctionnalité Dérouler-Actualiser pour TListView qui permet de dérouler la liste pour actualiser le contenu. Pour des informations sur la manière d'activer et d'utiliser cette fonctionnalité, voir PullToRefresh.

Fonctionnalité Enregistrer l'état de XE7

La nouvelle fonctionnalité Enregistrer l'état de XE7 vous permet d'enregistrer l'état d'une application avant sa fermeture pour que cet état soit récupéré au redémarrage de l'application.

Pour gérer cette nouvelle fonctionnalité, la fiche est dotée d'une nouvelle propriété appelée SaveState qui gère l'enregistrement et la récupération de cet état. Il est possible de lire ou d'écrire les données Enregistrer l'état à tout moment, mais idéalement, l'enregistrement de cet état doit s'effectuer lors du nouvel événement OnSaveState et sa récupération lors de l'événement OnCreate.

L'enregistrement de l'état de la fiche peut inclure des informations telles que l'onglet actif, le texte contenu dans les contrôles d'édition, la sélection de case à cocher, la date du calendrier, l'élément actuellement sélectionné, ainsi que les données de l'utilisateur. Cette fonctionnalité peut être utilisée sur les plates-formes mobiles ainsi que sur les plates-formes de bureau.

Pour plus d'informations sur cette fonctionnalité, voir Enregistrer l'état de FireMonkey.

Les méthodes de boîte de dialogue prennent en charge les méthodes anonymes pour gérer leur fermeture

Dans XE6, les appels aux méthodes de boîte de dialogue (InputBox, InputQuery, MessageDlg, ShowMessage) étaient toujours bloquants. Un code placé après un appel à l'une de ces méthodes n'est pas exécuté tant que la boîte de dialogue n'est pas fermée. Android n'autorisant pas les boîtes de dialogue bloquantes, vous ne pouviez pas auparavant utiliser ces méthodes sur Android.

Sur XE7, InputBox, InputQuery et MessageDlg prennent en charge un nouveau paramètre optionnel, ACloseDialogProc. Les appels qui incluent ce nouveau paramètre fonctionnent sur toutes les plates-formes, y compris Android. Ce nouveau paramètre optionnel permet de fournir une méthode anonyme qui est appelée lors de la fermeture de la boîte de dialogue. Lorsque vous appelez ces méthodes en appelant ce nouveau paramètre, votre appel est bloquant dans les plates-formes de bureau et non bloquant dans les plates-formes mobiles. Si vous avez besoin d'exécuter le code après la fermeture de la boîte de dialogue, utilisez ce nouveau paramètre pour que votre application fonctionne conformément aux attentes sur toutes les plates-formes prises en charge. Pour plus d'informations sur les méthodes anonymes, voir :

Si vous appelez InputBox, InputQuery ou MessageDlg et que vous fournissez une méthode anonyme sur votre appel, ces méthodes se comportent exactement comme dans XE6 : les appels sont bloquants sur toutes les plates-formes, y compris iOS, et Android n'est pas pris en charge.

ShowMessage est désormais également pris en charge pour Android dans XE7, et les appels à ShowMessage sont bloquants sur les plates-formes de bureau et non bloquants sur les plates-formes mobiles. Cependant, ShowMessage ne fournit aucun nouveau paramètre pour gérer sa fermeture. Si vous devez exécuter un code après la fermeture de la boîte de dialogue affichée par ShowMessage, utilisez MessageDlg à la place de ShowMessage.

Styles MetropolisUI à optimisation tactile disponibles

Quatre nouveaux styles MetropolisUI mis à jour sont disponibles pour FireMonkey (fichiers .style) :

  • MetropolisUIBlack_touch
  • MetropolisUIBlue_touch
  • MetropolisUIDark_touch
  • MetropolisUIGreen_touch

Ces styles ont tous les éléments d'interface utilisateur des apps mobiles et sont optimisés pour la fonction tactile. Les styles sont accessibles depuis C:\Users\Public\Documents\Embarcadero\Studio\15.0\Styles.

La propriété DesignVisible a été éliminée

La propriété FMX.Controls.TControl.DesignVisible a été retirée. La propriété Visible s'applique désormais à la conception et à l'exécution, et la vue Structure permet toujours l'accès à tous les composants à la conception.

Refactoring des bibliothèques FireMonkey

  • FMX.Controls : Si vous créez une application Fiches FireMonkey, les refactorings suivants ne devraient nécessiter aucune modification de code de votre part, car l'unité FMX.Controls est automatiquement incluse dans les apps Fiches FireMonkey :
  • La classe FMX.Edit.TNumberBox a été déplacée vers sa propre unité, FMX.NumberBox.TNumberBox. Si vos apps pré-existantes utilisent TNumberBox, vérifiez que FMX.NumberBox est présent dans les clauses uses/includes.
  • La classe FMX.DateTimeCtrls.TCalendar a été déplacée vers sa propre unité, FMX.Calendar. Si vos apps utilisent TCalendar, veillez à ajouter FMX.Calendar aux clauses uses/include.
  • MessageDlg, InputQuery et InputBox ont de nouvelles surcharges contenant une référence de méthode anonyme. Ce changement retire les précautions précédentes relatives à l'utilisation de ces méthodes dans les apps Android.

Nouvelle propriété Editable dans TTakePhotoFromLibraryAction et TTakePhotoFromCameraAction

La classe de base pour les actions de prise de photos, FMX.MediaLibrary.Actions.TCustomTakePhotoAction, contient une nouvelle propriété Editable.

La nouvelle propriété Editable permet de rogner une image après l'avoir chargée ou capturée en utilisant TTakePhotoFromLibraryAction ou TTakePhotoFromCameraAction.

Voir Tutoriel mobile : Prendre une photo et la partager, et partager du texte (iOS et Android), Activation de la modification d'images pour plus d'informations sur l'utilisation de la nouvelle propriété.

Modifications relatives à Platform Assistant pour XE7

Deux nouvelles commandes dans PAServer

  • v - Basculer le mode commenté (le mode commenté affiche les paramètres de la ligne de commande à chaque émission d'une commande)
  • r - Réinitialiser, terminer tous les processus enfant

Pour de plus amples informations, voir PAServer, l'application serveur Platform Assistant.

Nouvelle app Gestionnaire PAServer

Nous avons ajouté une nouvelle app GUI qui s'exécute sur le Mac. Le Gestionnaire PAServer vous permet de créer et de gérer plusieurs processus PAServer pour les apps Mac et iOS :

StartPAServerMenu.png

Pour de plus amples informations, voir :

Modifications relatives à l'EDI pour XE7

Visites guidées de RAD Studio

Cette release inclut une nouvelle technologie permettant des visites guidées pour un apprentissage facile de RAD Studio. Les visites guidées sont constituées de parcours étape-par-étape afin de montrer des fonctionnalités spécifiques.

Ces visites interactives affichent une bulle sur chaque étape, expliquant ce que vous devez faire dans l'étape. Vous devez lire les instructions et suivre toutes les étapes pour terminer la visite guidée avec succès. Vous pouvez accéder à la visite guidée en cliquant sur le lien adéquat dans la page d'accueil. Pour plus d'informations, voir Visites guidées de RAD Studio.

Modifications du Concepteur de fiches pour les applications multi-périphériques

ChangesFormDesigner.png

La nouvelle fiche multi-périphérique est un concepteur commun à toutes les plates-formes (bureau et mobile), avec une fiche maître stylisée et de multiples vues disponibles pour différents facteurs de forme et dispositions. Voir Concepteur de fiches.

Le Concepteur s'ouvre avec le style par défaut, le style maître Win32. Le menu déroulant Style vous permet de changer de style de fiche maître ; vous pouvez choisir Windows, OS X, iOS et Android. Les composants disponibles et leurs propriétés changent selon le style.

La fiche maître est l'endroit où tous les composants doivent être placés et modifiés de façon appropriée. Pour concevoir des applications mobiles, nous vous conseillons d'utiliser les étapes du tutoriel suivant : Tutoriel mobile : Utilisation de la disposition pour ajuster différentes tailles de fiches ou orientations (iOS et Android).

Le menu déroulant Vues vous permet d'ajouter des fiches prédéfinies à votre projet, comme Tablette Android 7 ou iPhone 4. Après la sélection d'une vue disponible, la fiche correspondante est ajoutée au dossier de votre projet, et une clause reference à la page de code. Toutes les vues héritent de la fiche maître. Voir Ajout de vues à votre projet multi-périphérique.

Les vues vous permettent de personnaliser votre projet pour une disposition prédéfinie spécifique. Les vues disponibles prennent en compte la résolution de l'affichage du périphérique cible. Si vous souhaitez personnaliser votre projet pour une résolution particulière, vous pouvez ajouter une vue personnalisée. Voir Ajout d'une vue personnalisée au sélecteur de vue pour de plus amples informations.

Lorsque vous exécutez votre projet pour une cible particulière, seules les vues correspondantes sont incluses dans votre application.

Les fichiers du projet sont automatiquement ajoutés au Gestionnaire de déploiement

Si vous ajoutez un fichier à un projet ou si vous retirez un fichier d'un projet en utilisant le Gestionnaire de projets, ce dernier ajoute ou retire désormais automatiquement ce fichier. Vous pouvez ajouter des fichiers multimédia, des fichiers texte ou tout fichier de ressource que vous souhaitez déployer avec votre application.

Certains fichiers, comme les fichiers de base de données, nécessitent un traitement spécial car ils ont besoin de pilotes de bases de données ou de fichiers de licences (Fichiers spécifiques). Dans ce cas, la boîte de dialogue Fichiers spécifiques s'ouvre automatiquement, de telle sorte que vous pouvez choisir les fichiers nécessaires à ajouter à la liste de déploiement.

La boîte de dialogue Fichiers spécifiques inclut une nouvelle option (case à cocher Afficher automatiquement quand nécessaire) qui vous permet de désactiver l'ajout/la suppression automatique de fichiers dans le Gestionnaire de déploiement. Si vous désactivez cette option, RAD Studio n'affiche plus automatiquement la boîte de dialogue Fichiers spécifiques ; vous devez donc ouvrir manuellement la boîte de dialogue Fichiers spécifiques pour ajouter ou retirer des fichiers spécifiques.

Ajout d'une liste des droits pour Android

Une page Liste des droits a été ajoutée pour Android (iOS et Mac OS X continuent à prendre en charge la liste des droits). Vous pouvez accéder à la liste des droits via Projet > Options > Liste des droits.

Vous pouvez définir des droits pour vos apps Android. Par exemple, vous pouvez ajouter la publicité à votre application mobile ou bien autoriser votre application à recevoir des données de serveurs distants en utilisant la prise en charge des notifications push distantes.

Pour plus d'informations, voir Liste des droits.

Prise en charge de l'écran de démarrage pour Android

Vous pouvez désormais configurer un écran de démarrage pour vos applications Android. Sélectionnez Projet > Options > Application, activez Inclure l'image d'accueil, entrez le chemin d'accès à l'image de votre écran d'accueil, et configurez l'alignement de votre écran d'accueil.

Pour plus d'informations, voir Images d'accueil et comment utiliser les images 9-patch dans l'écran d'accueil.

Système de contrôle de version Git intégré dans l'EDI

RAD Studio prend désormais en charge le système de contrôle de version Git pour vos projets sous contrôle de version, et de nouvelles fonctionnalités Subversion ont été ajoutées dans l'EDI.

  • Le Gestionnaire de l'historique présente désormais des informations de contrôle de version Git intégrées de votre référentiel local. Quand vous ouvrez un projet sous contrôle de version Git ou Subversion, des informations supplémentaires sont disponibles dans les onglets Contenu, Informations et Différences.
  • Lors de l'utilisation de la prise en charge de Subversion, vous pouvez maintenant :
    • Utiliser les nouveaux libellés Liste des modifications de Subversion pour regrouper vos fichiers modifiés avant de les valider dans votre référentiel distant.
    • Utiliser la nouvelle boîte de dialogue Fusionner (SVN) pour commencer à fusionner vos modifications à partir de l'EDI.
    • Utiliser la nouvelle fonctionnalité de déportation de branches (Subversion) pour faire pointer vos modifications de référentiel local vers une nouvelle branche de votre référentiel distant.

Pour de plus amples informations, voir :

La personnalité Delphi requiert désormais le SDK pour OS X et le simulateur iOS

Un SDK (kit de développement logiciel) est désormais requis pour développer des applications Delphi pour OS X et iOS (auparavant il était requis pour C++ seulement).

Un kit de développement logiciel (SDK) fournit un ensemble de fichiers pour construire des applications pour une plate-forme cible, et définit l'emplacement réel de ces fichiers sur la plate-forme cible ou une plate-forme intermédiaire qui prend en charge la plate-forme cible (par exemple, Mac OS X fournit les SDK pour iOS).

Pour les étapes relatives à l'ajout d'un nouveau SDK (Périphérique ou Simulateur) Mac OS X ou iOS à votre système de développement à partir d'un Mac, voir Ajout du SDK d'un périphérique Mac OS X ou iOS.

Ajouter les bibliothèques Java à vos applications pour Android à partir du Gestionnaire de projets

Dans XE6, pour ajouter une bibliothèque Java personnalisée à votre application, vous devez créer et déployer manuellement un fichier classes.dex.

Dans XE7, vous pouvez ajouter simplement vos bibliothèques Java personnalisées à partir du Gestionnaire de projets, en utilisant le nouveau noeud Bibliothèques que vous trouverez à l'intérieur du noeud de plate-forme Android. Voir Ajout d'une bibliothèque Java à votre application en utilisant le Gestionnaire de projets.

Création d'applications Metropolis UI

Dans XE7, vous ne pouvez plus créer directement des applications Metropolis UI à partir du menu Fichier > Nouveau A la place, sélectionnez l'une des opérations suivantes pour créer une nouvelle application Metropolis UI :

Modifications relatives à la bibliothèque d'exécution (RTL) pour XE7

API RTL de prise en charge des protocoles Bluetooth et Classic Bluetooth pour le tethering d'app

La bibliothèque RTL a une nouvelle unité, System.Bluetooth, qui fournit une API multi-périphérique pour accéder aux applications Bluetooth du périphérique exécutant votre application. Cette nouvelle unité fournit la prise en charge des deux protocoles Classic Bluetooth et Bluetooth Low Energy. Voir Utilisation du Bluetooth.

Vous pouvez désormais utiliser le tethering d'app pour connecter votre application en utilisant Classic Bluetooth en plus des connexions IP.

Le tableau suivant présente la prise en charge des plates-formes pour les connexions du tethering d'app (IP et Classic Bluetooth) et de l'API RTL pour Bluetooth :

Plate-forme Tethering d'app API RTL
IP Classic Bluetooth Bluetooth Low Energy
Client Serveur
Windows
YesC++11Feature.png
YesC++11Feature.png

8+

Mac OS X
YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png
10.9+
iOS
YesC++11Feature.png

5+

6+

Android
YesC++11Feature.png
YesC++11Feature.png

4.3+

Le tethering d'apps prend en charge les connexions à l'extérieur de votre sous-réseau

Dans XE6, les méthodes permettant de découvrir les périphériques distants à connecter, AutoConnect et DiscoverManagers, avaient l'habitude de rechercher les périphériques dans le sous-réseau du réseau local (LAN) où résidait le périphérique exécutant votre application. En conséquence, vous ne pouviez pas utiliser le tethering d'apps pour connecter des périphériques dans différents sous-réseaux du même LAN, ou des périphériques avec des adresses IP complètement différentes.

Dans XE7, ces deux méthodes fournissent un paramètre facultatif, Target, que vous pouvez utiliser pour redéfinir ce comportement, et spécifier une adresse IP cible ou un sous-réseau pour la recherche de gestionnaires distants. Voir Connexion aux applications à l'extérieur de votre sous-réseau.

Bibliothèque de programmation parallèle

En incluant la nouvelle unité System.Threading dans vos apps, vous pouvez utiliser la nouvelle bibliothèque de programmation parallèle.

Pour de plus amples informations, voir Utilisation de la bibliothèque de programmation parallèle.

Améliorations concernant XML

Nouveau fournisseur XML multiplate-forme améliorant les performances

En plus de MSXML et ADOM, RAD Studio propose désormais un nouveau fournisseur XML : OmniXML. Le fournisseur XML multiplate-forme OmniXML offre de bien meilleures performances que le fournisseur XML multiplate-forme alternatif : ADOM. Le fournisseur XML OmniXML de RAD Studio est basé sur OmniXML, mais il inclut des fonctionnalités supplémentaires, comme la prise en charge de l'espace de nommage, et il est compatible avec SOAP.

Nouveau système de sélection des fournisseurs XML

La RTL fournit un nouveau système pour définir le fournisseur XML à utiliser, comme décrit dans Utilisation du modèle DOM.

Le nouveau système de sélection du fournisseur XML propose MSXML comme fournisseur XML par défaut. MSXML prend uniquement en charge la plate-forme Windows ; si vous ne spécifiez pas un fournisseur XML différent, votre application ne prendra pas en charge XML sur d'autres plates-formes que Windows, et une exception se produira chaque fois que vous l'exécuterez sur d'autres plates-formes.

Pour choisir un autre fournisseur XML, ajoutez une référence à l'unité du fournisseur au sein de l'unité dans laquelle vous utilisez les fonctionnalités XML de la RTL, par exemple la classe TXMLDocument. Si vous ajoutez plus d'une unité de fournisseur XML, la première unité référencée est utilisée comme fournisseur XML. Pour redéfinir ce comportement, changez simplement la valeur de la variable globale DefaultDOMVendor en la remplaçant par la variable globale du fournisseur XML cible.

Remarque : Vous pouvez retrouver l'unité et la variable globale de chaque fournisseur XML dans la liste des fournisseurs XML intégrés.

Lorsque vous utilisez le composant TXMLDocument, vous pouvez choisir un fournisseur XML en utilisant sa propriété DOMVendor. Lorsque vous changez la valeur de DOMVendor, l'unité qui utilise le composant est configurée pour utiliser le fournisseur XML spécifié, de sorte que vous n'avez pas besoin de changer les références d'unité ou la variable globale DefaultDOMVendor manuellement.

Pour utiliser un fournisseur XML différent pour chaque plate-forme (tel que MSXML dans Windows et OmniXML dans d'autres plates-formes), utilisez la compilation conditionnelle :

Nouvelle unité pour l'encodage et le décodage web

La RTL inclut une nouvelle unité, System.NetEncoding, qui fournit des fonctionnalités d'encodage et de décodage pour Base64, HTML et URL.

Le tableau suivant montre la correspondance entre les méthodes des versions précédentes de RAD Studio et les méthodes dans System.NetEncoding :

XE6 XE7

Soap.EncdDecd.EncodeBase64

TNetEncoding.Base64.EncodeBytesToString

Soap.EncdDecd.DecodeBase64

TNetEncoding.Base64.DecodeStringToBytes

Soap.EncdDecd.EncodeStream
Soap.EncdDecd.EncodeString

TNetEncoding.Base64.Encode

Soap.EncdDecd.DecodeStream
Soap.EncdDecd.DecodeString

TNetEncoding.Base64.Decode

Web.HTTPApp.HTMLEncode

TNetEncoding.HTML.Encode

Web.HTTPApp.HTMLDecode

TNetEncoding.HTML.Decode

Web.HTTPApp.HTTPEncode

TNetEncoding.URL.Encode

Web.HTTPApp.HTTPDecode

TNetEncoding.URL.Decode

Certains méthodes prises en charge auparavant prennent à la fois en charge AnsiString et UnicodeString ou uniquement AnsiString. Les nouvelles méthodes XE7 prennent en charge seulement UnicodeString. Pour utiliser les nouvelles méthodes avec AnsiString dans XE7, vous devez transtyper votre chaîne d'entrée et le résultat de la méthode comme suit :

Delphi :

AnsiStringResult := AnsiString(NewMethod(string(AnsiStringInput)));

C++ :

AnsiStringResult = AnsiString(NewMethod(UnicodeString(AnsiStringInput)));

PCRE 8.35 pour Windows et les plates-formes mobiles

La bibliothèque PCRE, qui fournit la prise en charge des expressions régulières compatibles Perl, a été mise à niveau dans XE7 :

Plate-forme XE6 XE7

Windows 32 bits
Windows 64 bits

7.9
(2009-04-11)

8.35
(2014-04-04)

Périphérique iOS
Android

8.31
(2012-07-06)

Mac OS X
Simulateur iOS

Ces plates-formes utilisent la version PCRE disponible dans le système.

PCRE 8.35 n'accepte pas les noms de groupes commençant par des chiffres

Dans XE6, vous pouviez définir des groupes nommés avec des noms qui contenaient n'importe quelle combinaison de chiffres et de lettres, telle que "1" ou "2nd". Par exemple : "(?<1>\w+)\s+(?<2>fish)\s*".

Dans XE7, qui inclut la dernière version de la bibliothèque PCRE, il n'est plus possible d'utiliser des noms de groupes qui commencent par un chiffre. C'est-à-dire que vous ne pouvez plus utiliser des noms de groupes tels que "1" ou "2nd". Toutefois, vous pouvez toujours utiliser des chiffres dans le nom tant qu'ils ne sont pas le premier caractère du nom, par exemple "g1" ou "my2cents".

zlib 1.2.8

RAD Studio inclut une nouvelle version de la bibliothèque de compression zlib : 1.2.8.

Modifications relatives à la VCL pour XE7

Nouveau composant pour les listes de raccourcis de la barre des tâches Windows

Windows 7 et les versions plus récentes de Windows fournissent un menu contextuel pour les éléments de la barre des tâches. Les utilisateurs disposent donc d'un accès rapide aux fichiers récents ouverts avec votre application. Dans XE7, le composant TJumpList vous permet de personnaliser les informations affichées par les listes de raccourcis pour votre application.

Vous pouvez masquer ou afficher les fichiers récents et les fichiers fréquents, fournir des entrées de tâches pour donner à vos utilisateurs un accès rapide aux tâches communes de votre application, ou ajouter des catégories entièrement personnalisées et des éléments aux listes de raccourcis de votre application.

XE7JumpLists.png

Pour plus d'informations sur les fonctionnalités associées, voir Barres des tâches de la VCL.

Modifications relatives au compilateur C++ pour XE7

Nouvelles versions des bibliothèques Boost et Dinkumware pour Win64

De nouvelles versions des bibliothèques Boost et Dinkumware sont désormais installées (les deux sont pour Win64 uniquement).

Nouveaux en-têtes iOS ajoutés (libcplusplus)

Les en-têtes iOS libcplusplus sont désormais utilisés dans RAD Studio. Ces en-têtes mis à jour fournissent davantage de fonctionnalités C++11, telles que les opérations atomiques, et l'initialisation par défaut des vecteurs.

Commande Naviguer vers

RAD Studio prend désormais en charge la commande Naviguer vers qui a été ajoutée aux commandes Chercher (C++) préalablement disponibles sur le menu contextuel de l'éditeur de code. La commande Naviguer vers recherche dans l'ensemble du projet actif les identificateurs et les constantes qui correspondent aux critères de recherche spécifiés. Pour plus d'informations, voir :

Les packages Delphi n'autorisent plus la sélection des espaces de nommage dans les options de Sortie - C/C++

Pour la fonctionnalité Génération des fichiers de sortie C/C++, les options sont différentes entre les packages Delphi et les exécutables. Pour les packages, il existe deux choix (au lieu de 11 pour les fichiers .exe) :

  • Générer les DCU (lorsque vous ne prévoyez pas d'utiliser le package depuis C++)
  • Générer tous les fichiers C++Builder (notamment les bibliothèques de packages)

Ce changement élimine les problèmes d'espace de nommage potentiels lorsque le package Delphi est utilisé dans les applications C++.

Modifications relatives au compilateur Delphi pour XE7

Opérations de type chaîne prises en charge sur les tableaux dynamiques

  • Les tableaux dynamiques peuvent être manipulés comme les chaînes. Par exemple :
var
  A: array of integer;
  B: TBytes = [1,2,3,4]; //Initialization can be done from declaration
begin
  ...
  A:=[1,2,3]; // assignation using constant array
  A:=A+[4,5]; // addition - A will become [1,2,3,4,5]
  ...
end;
  • Ajout de routines dotées d'opérations de type chaîne :

I. La fonction Insert insère un tableau dynamique à l'emplacement de l'index de position. Elle renvoie le tableau modifié.

var
  A: array of integer;
begin
  ...
  A:=[1,2,3,4];
  Insert(5,A,2); // A will become [1,2,5,3,4]
  ...
end;

II. La fonction Delete élimine des éléments d'un tableau dynamique et renvoie le tableau modifié :

var
  A: array of integer;
begin
  ...
  A:=[1,2,3,4];
  Delete(A,1,2); //A will become [1,4]
  ...
end;

III. La fonction Concat peut être utilisée pour concaténer deux tableaux dynamiques différents :

  A := Concat([1,2,3],[4,5,6]); //A will become [1,2,3,4,5,6]

Modifications relatives à la base de données et à la connectivité pour XE7

Modifications relatives à FireDAC

  • Nouveau pilote IBLite de bureau et mobile, basé sur le pilote IB existant
    • Nouveau DriverID = 'IBLite'
    • Nouvelle propriété TFDPhysIBDriverLink.Lite
  • Prise en charge des délais d'attente natifs des commandes de l'API SGBD
    • Pris en charge par les pilotes FireDAC : Advantage, Informix et SQL Server
  • Les paramètres de connexion FireDAC sont désormais affichés dans l'inspecteur d'objets en tant qu'enregistrements.
    • TFDConnection.Params fait désormais partie de la classe de base TFDConnectionDefParams.
    • Selon TFDConnection.DriverName, les paramètres sont l'un des TFDPhysXxxConnectionDefParams, où Xxx est l'ID du pilote.
  • Capacités d'écriture des métadonnées
    • Nouvelle méthode TFDTable.CreateTable
    • Nouvelle option poCreateDest de TFDBatchMove.Options
    • Nouvelles méthodes IFDPhysCommandGenerator.GenerateCreateTable, GenerateDropTable

Service de mobilité d'entreprise

Le nouveau service de mobilité d'entreprise Enterprise Mobility Service (EMS)) offre une plate-forme Mobile Enterprise Application qui peut être hébergée dans le Cloud ou sur site ("on premises"). Elle expose les API REST et les données de base de données d'entreprise.

EMS a été développé pour offrir aux clients une solution complète qui inclut un serveur API REST, un accès à la base de données distante et le suivi de l'usage de la solution. La base de données EMS stocke l'activité des utilisateurs, et la console EMS crée des analyses avec ces informations.

Les principaux composants de l'architecture EMS sont :

  • Le serveur EMS est le composant qui fournit les services et les fonctions principales aux clients EMS. Le serveur EMS gère la base de données EMS qui stocke des informations telles que les utilisateurs enregistrés et l'activité de votre application (création des analyses).
  • L'API REST est utilisée pour accéder aux données de la base de données EMS. Les clients EMS peuvent accéder aux informations de la base de données EMS en effectuant des appels à l'API administrative REST intégrée du serveur EMS. Vous pouvez étendre la fonctionnalité du serveur EMS existant en créant vos propres packages EMS, et en recensant ces ressources dans le serveur EMS.
  • Les clients EMS sont des applications de bureau ou des applications mobiles qui peuvent accéder aux ressources recensées du serveur EMS en utilisant l'API REST. La prise en charge EMS pour FireDAC est fourni. Vous pouvez ainsi créer des applications client EMS FireDAC.
  • La console EMS lit les informations stockées dans la base de données EMS et les affiche dans votre navigateur par défaut. La console EMS affiche la liste des utilisateurs et les groupes, et présente des graphes d'analyses qui sont stockées dans la base de données EMS.

Dans XE7, de nouveaux composants relatifs à EMS ont été ajoutés dans l'EDI, tels que TEMSProvider ou TEMSFireDACClient (pour prendre en charge FireDAC dans votre application client). Vous pouvez également utiliser des composants BaaS existants, tels que TBackendQuery dans vos applications client EMS.

La mise à jour EMS inclut des améliorations de la stabilité et des performances au niveau du serveur EMS et du serveur de la console EMS.

  • Pooling de connexion. Vous pouvez désormais vous connecter à l'aide du pooling de connexion FireDAC pour réduire la latence de l'établissement de la connexion à la base de données.
  • Autorisation d'un nombre maximum d'utilisateurs EMS et de connexions HTTP au serveur EMS.
  • Spécification Cross-Origin Resource Sharing (CORS) pour les ressources de fichiers Web du serveur de la console EMS.

Prise en charge du fournisseur Parse pour vos applications de notifications push Android

Le framework REST BaaS de RAD Studio prend désormais en charge Parse BaaS en tant que fournisseur pour vos applications de notifications push Android. Auparavant, vous ne pouviez utiliser le fournisseur Parse que pour les apps RAD Studio iOS.

Pour démarrer la réception des notifications push depuis le fournisseur Parse BaaS, recensez votre application RAD Studio en tant que client de notifications push Parse Android et configurez votre service cloud Parse.

Pour de plus amples informations, voir Tutoriel mobile : Utilisation des notifications distantes (iOS et Android) et et Création de l'application push Android.

BDE retiré

BDE, notre ancienne solution de base de données, a atteint la phase finale de désapprobation, et a été retirée de RAD Studio. Cela concerne les unités Bde.DBBdeWeb et Bde.DBTables. Utilisez à la place les nouvelles technologies de base de données, telles que FireDAC. Pour des informations sur la migration, voir Migration des applications BDE vers FireDAC.

Si vous avez besoin du BDE, un installateur externe est disponible sur le site des utilisateurs enregistrés : http://cc.embarcadero.com/myreg (EN)
L'aide du BDE reste dans l'aide de XE7.

Améliorations de l'explorateur de données

L'explorateur de données affiche désormais ces noeuds pour les applications FireDAC :

  • Les clés primaires et leurs champs
  • Les clés étrangères et leurs champs
  • Les générateurs

Le connecteur iOS DataSnap utilise désormais ARC

Pour prendre en charge iOS 7 et les versions ultérieures, un connecteur iOS DataSnap doit utiliser ARC.

Si vous disposez d'un connecteur en fonctionnement et que vous souhaitez qu'il prenne en charge iOS 7 et les versions ultérieures, vous devez mettre à jour le code Objective-C pour qu'il utilise ARC. Voir le document Apple Transitioning to ARC Release Notes (EN) pour obtenir de l'aide.

Introduction au connecteur mobile iOS Objective-C DataSnap montre comment recréer entièrement un nouveau connecteur iOS DataSnap en utilisant ARC.

Modifications de l'aide en ligne relatives aux bases de données

Modifications relatives au débogueur pour XE7

Nouvelle app Gestionnaire PAServer sur le Mac

La nouvelle app Mac GUI Gestionnaire PAServer est désormais fournie avec PAServer (le serveur Platform Assistant). Le Gestionnaire PAServer vous permet de créer et gérer plusieurs instances de PAServer.

Pour de plus amples informations, voir :

Prise en charge multi-octets pour les débogueurs mobiles

  • Les débogueurs des plates-formes mobiles (iOS et Android) prennent désormais en charge l'utilisation des caractères Unicode et des chaînes d'encodage UTF8, UTF16 et UTF32.
  • Dans les noms de fichiers des apps iOS, les débogueurs prennent désormais en charge l'utilisation des caractères internationaux (Unicode, comme hélène et éléments).

Pour des informations générales, voir Débogage des applications multi-périphériques.

Fichier binaire info.plist déployé

Le fichier info.plist, qui est requis pour les apps Mac et iOS, continue à être généré en tant que fichier XML contenant des clés et des valeurs associées.

Toutefois, pour le déploiement, le fichier XML est à présent converti en binaire. Pour de plus amples informations sur le contenu du fichier info.plist, voir Informations de version.

Modifications relatives à l'utilitaire de ligne de commande pour XE7

Java2OP.exe : Nouveau générateur de fichier pont natif pour Android

Auparavant, pour utiliser le processus consistant à autoriser votre application à utiliser des bibliothèques Java personnalisées sur Android, vous deviez créer manuellement un fichier pont natif à partir d'un fichier de classe Java.

RAD Studio fournit un nouvel outil, Java2OP.exe (Java vers Object Pascal), qui automatise la création d'un fichier pont natif pour les applications Delphi. Ce nouvel outil vous permet de générer un fichier pont natif à partir d'un ensemble de fichiers de classe JAR ou Java, ou à partir d'un sous-ensemble spécifique de l'API Android.

Pour cette release, Java2OP.exe est disponible sur le site des utilisateurs enregistrés : http://cc.embarcadero.com/myreg (EN)

Modifications relatives aux exemples d'application pour XE7

Les exemples d'applications fournis avec le produit ont été réorganisés, et certains d'entre eux ont été retirés. Nous livrons les exemples récents qui sont plus en rapport avec le développement d'applications multi-périphériques, mais nous avons retiré les anciens exemples qui ne sont plus adaptés.

Pour de plus amples informations sur les exemples d'applications livrés avec le produit, voir :

Modifications de l'aide en ligne

Quelques nouvelles pages importantes :

Quelques modifications de l'aide en ligne :

Voir aussi