Nouveautés de Appmethod 1.15

De Appmethod Topics
Aller à : navigation, rechercher

La release Appmethod 1.15 contient de nombreuses fonctionnalités innovantes et améliorées. Les principales fonctionnalités sont décrites ci-dessous.

Sommaire

Modifications relatives à FireMonkey pour 1.15

Les applications multi-périphériques FireMonkey supportent 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 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 Ajout de publicités à vos apps mobiles.

Nouveau contrôle TMultiView

FireMonkey supporte maintenant le composant TMultiView qui vous permet d'implémenter une interface maître-détail, utilisable pour toute plate-forme cible supportée.

  • 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 maintenant 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, Appmethod 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 de plus amples informations, voir TPresentedControl.ControlType.

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.

Support multi-moniteur

Si votre application FireMonkey s'exécute sur plusieurs moniteurs, TScreen gère une liste de moniteurs et leurs dimensions, et fournit des méthodes permettant d'obtenir le moniteur contenant une fiche ou un point afin que vous puissiez effectivement gérer la disposition de votre interface utilisateur sur plusieurs moniteurs actifs.

Support 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 actions tactiles de l'utilisateur réalisées 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éfinie sur True.

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

Propriété Size et champ 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 de 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 = tpBottom pour les apps iOS
  • TTabPosition = tpTop 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

FMX.ListView.TListView propose la propriété Dérouler-Actualiser, 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 FireMonkey

La nouvelle fonctionnalité Enregistrer l'état de FireMonkey 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é, et ainsi de suite, avec 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 de plus amples informations sur cette fonctionnalité, voir Enregistrer l'état de FireMonkey.

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

'* TAnimation a été déplacé de l'unité FMX.Types vers l'unité FMX.Ani.

  • 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 applications 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.

Modifications relatives à Platform Assistant

Deux nouvelles commandes dans PAServer

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

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

Nouveau 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 1.15

Visites guidées de Appmethod

Cette release inclut une nouvelle technologie permettant des visites guidées pour un apprentissage facile de Appmethod. 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 de plus amples informations, voir Visites guidées de Appmethod.

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, telles que Tablette Android 7 ou iPhone 4 pouces. 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 en retirez un en utilisant le Gestionnaire de projets, le Gestionnaire de déploiement ajoute ou retire 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, Appmethod 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.

Page Liste des droits ajoutée pour Android

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

Vous pouvez définir les droits pour vos apps Android. Par exemple, vous pouvez ajouter le service publicitaire à votre application mobile ou permettre à votre application de recevoir des données des serveurs distants en utilisant le support des notifications push distantes.

Voir Liste des droits pour de plus amples informations.

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 votre écran de démarrage, entrez le chemin d'accès de l'image de votre écran de démarrage, et configurez l'alignement de votre écran de démarrage.

Pour de plus amples informations, voir Images d'accueil.

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

Appmethod prend maintenant 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.

  • Les onglets du Gestionnaire de l'historique présentent 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, vous pouvez trouver plus d'informations 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 Subversion ChangeList 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é Object Pascal 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 Object Pascal pour OS X et iOS.

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, iOS ou d'un simulateur iOS.

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

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

Dans 1.15, 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.

Modifications relatives à la RTL (Run-Time Library) pour 1.15

API RTL pour Bluetooth

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 le support des deux protocoles Classic Bluetooth et Bluetooth Low Energy. Voir Utilisation du Bluetooth.

Le tethering d'apps supporte le protocole Classic Bluetooth

Vous pouvez désormais utiliser le tethering d'apps pour connecter votre application en utilisant non seulement le protocole réseau TCP/IP, mais également le protocole Classic Bluetooth.

Le tethering d'apps supporte 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, recherchaient des 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 1.15, 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.

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 Appmethod et les méthodes dans System.NetEncoding :

1.14 1.15

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

Certaines méthodes supportées auparavant supportent à la fois AnsiString et UnicodeString ou uniquement AnsiString. Les nouvelles méthodes 1.15 supportent seulement UnicodeString. Pour utiliser les nouvelles méthodes avec AnsiString dans 1.15, vous devez transtyper votre chaîne d'entrée et le résultat de la méthode comme suit :

Object Pascal :

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

C++ :

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

Améliorations concernant XML

Nouveau fournisseur XML multiplate-forme améliorant les performances

En plus de MSXML et ADOM, Appmethod 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 Appmethod 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.

Le nouveau système de sélection du fournisseur XML propose MSXML comme fournisseur XML par défaut. MSXML supporte uniquement la plate-forme Windows ; si vous ne spécifiez pas un fournisseur XML différent, votre application ne supportera pas 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 DOM 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 :

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 1.15 :

Plate-forme 1.14 1.15

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 1.15, 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

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

Modifications relatives au compilateur C++ pour 1.15

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 Appmethod. 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

Appmethod supporte désormais la commande Naviguer vers qui a été ajoutée aux commandes Chercher (C++) disponibles dans 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 de plus amples informations, voir :

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

Pour 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 Appmethod C++ (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 du compilateur Object Pascal pour 1.15

Opérations de type chaîne supportées sur les tableaux dynamiques

  • Des tableaux dynamiques peuvent être ajoutés de la même façon que vous ajoutez des chaînes.

Par exemple :

A: array of integer;
A:=[1,2,3];
A:=A+[4,5]; //A will become [1,2,3,4,5]
var B: TBytes = [1,2,3,4]; //Initialization can be done from declaration
  • La fonction Insert insère un tableau dynamique au début de l'index de position. Elle renvoie le tableau modifié.
insert(newEntry, A, index); // insert new element or array into A at position index
A: array of integer;
A:=[1,2,3,4];
insert(5,A,2); // A will become [1,2,5,3,4]
  • La fonction Delete élimine des éléments d'un tableau dynamique et renvoie le tableau modifié :
Delete(A,index,noElem); //deletes noElem elements from A starting at index
A: array of integer;
A:=[1,2,3,4];
Delete(A,1,2); //A will become [1,4]
  • 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 aux bases de données et à la connectivité pour 1.15

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 personnalisées 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 périphériques et des utilisateurs, et le serveur EMS crée les analyses de 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, les périphériques 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 ou packages FireDAC 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 fournie. 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, les périphériques et les groupes, et présente des graphes d'analyses qui sont stockées dans la base de données EMS.

De nouveaux composants ont été ajoutés pour EMS dans l'EDI, tels que REST.Backend.EMSProvider.TEMSProvider ou REST.Backend.EMSFireDAC.TEMSFireDACClient (pour la prise en charge de FireDAC dans votre application client). Vous pouvez également utiliser des composants BaaS existants, tels que TBackendQuery dans vos applications client EMS.

Rubriques relatives à EMS

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

Le framework REST BaaS de Appmethod 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 Appmethod iOS.

Pour démarrer la réception des notifications push depuis le fournisseur Parse BaaS, recensez votre application Appmethod 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 Création de l'application push Android.

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

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

Modifications du débogueur pour 1.15

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 :

Support multi-octets pour les débogueurs mobiles

  • Les débogueurs des plates-formes mobiles (iOS et Android) supportent désormais 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 supportent désormais l'utilisation des caractères internationaux (Unicode, comme hélène et éléments).

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 aux exemples d'applications pour 1.15

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. Les exemples retirés seront disponibles dans un référentiel SourceForge distinct après la release 1.15.

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

Voir aussi