Notes de release pour XE2

Ces notes de release contiennent des informations importantes qui peuvent ne pas apparaître dans la documentation principale du produit. Nous vous recommandons de lire cette page en entier. Pour obtenir la version à jour de ces notes, voir http://docwiki.embarcadero.com/RADStudio/fr/Notes_de_release_pour_XE2.

Installation, désinstallation et mise à niveau de votre produit

Avant d'installer, de désinstaller ou de mettre à niveau le produit, lisez les fichiers Install.htm et License.rtf. Le fichier Install.htm contient les exigences système et d'espace libre, ainsi que les procédures d'installation et de mise à niveau. License.rtf est votre contrat de licence logicielle et de support.

Lisez la version à jour du fichier Install.htm sur le docwiki, Notes d'installation pour XE2.

Voici les autres façons d'accéder au fichier Install.htm :

Veuillez installer toutes les mises à jour disponibles - Mise à jour 1 requise

La Mise à jour 1 du produit est utilisée comme ligne de base pour XE2. Ainsi, la Mise à jour 1 doit être présente avant d'installer les mises à jour suivantes.

Nous vous conseillons d'installer chaque mise à jour du produit dès sa disponibilité. Chaque mise à jour, autre que la Mise à jour 1, a des notes de release personnalisées sur le docwiki. Vous pouvez ainsi (et vous devez) lire les notes de release associées avant d'installer une mise à jour. Les mises à jour XE2 disponibles (autres que Mise à jour 1) sont listées à la fin de ces notes de release et dans la rubrique Nouveautés de Delphi et C++Builder XE2

Pour vérifier la disponibilité d'une mise à jour du produit, allez sur Menu Démarrer | Tous les programmes | Embarcadero RAD Studio XE2 | Vérifier les mises à jour.

Les instructions se trouvent dans la rubrique Notes d'installation pour XE2.

Pour de plus amples informations sur les problèmes d'installation, de déploiement et de licences, voir les fichiers Install.htm, Deploy.htm et License.rtf qui sont installés par défaut dans C:\Program Files\Embarcadero\RAD Studio\x.x (Program Files (x86) pour Windows 64 bits).

Notes générales

Votre produit inclut des licences pour les versions antérieures

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

Pour de plus amples informations sur les licences, voir Notes d'installation pour XE2 ou le fichier Install.htm dans le répertoire d'installation de votre produit.

Ajout de DLLs / dylibs / packages requis en tant que dépendances

Si un projet A (un exécutable ou un dll / dylib / package) dépend d'un autre projet B, vous devez déployer les dépendances du projet B avec le projet A. Par exemple, dans une application OS X, les .dylibs requis peuvent être libcgcrt.dylib, bplrtl160.dylib ou d'autres .dylibs Embarcadero. Pour ajouter manuellement des fichiers à un déploiement, utilisez le gestionnaire de déploiement pour inspecter le déploiement de B, et ajoutez ces dlls / dylibs / packages au déploiement de A, avec la sortie finale de B.

Le problème de plate-forme non valide

Si votre système a une valeur de plate-forme inconnue (par exemple, sous la forme d'une variable système prédéfinie %Platform%), le message d'erreur suivant est affiché :

Variable PLATFORM non valide "(valeur)". PLATFORM doit prendre l'une des valeurs suivantes : "Win32", "Win64" ou "OSX32".

Si PLATFORM est définie par l'environnement de votre système, elle doit être redéfinie dans l'EDI de RAD Studio ou passée explicitement sur la ligne de commande à MSBuild ; par exemple, /p:Platform=Win32.

Débogage WebSnap et WebBroker avec WebAppDebugger

Pour déboguer les applications WebSnap and WebBroker en utilisant WebAppDebugger, démarrez en exécutant serverinfo.exe, qui se recense lui-même en mode silencieux. Cette étape est nécessaire pour utiliser le débogueur d'applications Web (WebAppDbg.exe, situé dans le dossier \bin de votre répertoire d'installation).

Support EDI des caractères Unicode hors du plan multilingue de base

Windows® Vista®, Windows® 7 et les systèmes d'exploitation à venir affichent correctement la police pour chaque langue. Sur les systèmes d'exploitation XP, la police utilisée par l'EDI (Tahoma, livrée avec les versions anglaises du système d'exploitation) ne supporte pas l'affichage des caractères hors du plan multilingue de base. Les caractères utilisant les paires de substitution ne s'afficheront pas correctement dans certaines parties de l'EDI, notamment l'inspecteur d'objets.

Pour permettre un affichage correct, installez le support de langue supplémentaire dans Windows en utilisant Région et langue dans le panneau de configuration de Windows. Pour de plus amples informations, voir http://blogs.embarcadero.com/nickhodges/2008/07/17/39073.

Notes pour les développeurs de composants

Clés de registre pour les installateurs de composants

Si vous êtes un fournisseur de composants VCL et que votre installateur de composants met à jour des chemins dans le registre afin d'inclure les chemins de vos composants, votre installateur doit mettre à jour une clé de registre supplémentaire dans HKEY_LOCAL_MACHINE\Software\Embarcadero\BDS\x.x\Globals.

Ajoutez (ou mettez-la à jour si elle existe déjà) une valeur chaîne appelée ForceEnvOptionsUpdate. Affectez-lui la valeur "1". Quand cette clé de registre a la valeur "1", lors de la prochaine exécution de l'EDI, le fichier EnvOptions.proj est mis à jour sur disque afin d'inclure les chemins ajoutés par votre installateur. Le fichier EnvOptions.proj est le mécanisme par lequel le nouveau moteur de construction MSBuild de l'EDI est capable d'inclure les chemins listés sur la page Bibliothèque - Win32 de la boîte de dialogue Outils > Options de l'EDI.

Si votre installateur met à jour une des clés de registre suivantes, il doit aussi ajouter ou mettre à jour la clé Globals\ForceEnvOptionsUpdate :

Rendre disponibles vos composants au moment de la conception et de l'exécution

Voici les deux façons dont l'EDI décide si un composant est disponible pour Win32/Win64/OSX32. Ici, "disponible" signifie l'apparition sur la palette, et la vérification par l'EDI. L'EDI n'effectue pas de vérification à la compilation autre que l'existence de l'unité du composant. Les deux méthodes s'appuient sur les données incorporées dans le package d'exécution Win32 (ou de conception et d'exécution) qui implémente les composants. L'EDI ne peut pas charger les packages Win64 et OSX32 dans l'EDI. Ainsi, l'EDI doit se reporter au package Win32 pour obtenir des informations.

Noms de portées d'unités pour vos propres composants

Les noms de portées d'unités ont été introduits dans la release XE2. En général, les concepteurs de composants n'ont pas besoin de fournir un nom de portée d'unité pour leurs composants car la portée est automatiquement incluse dans l'entrée uses ajoutée. Toutefois, si vous créez vos propres composants, vous pouvez ajouter des noms de portées d'unités dans les nouveaux projets et les projets existants en suivant les étapes ci-dessous. Vous pouvez aussi retirer les noms de portées d'unités s'ils ne sont plus nécessaires.

  1. Localisez la clé de registre HKEY_CURRENT_USER\Software\Embarcadero\BDS\9.0\Library\libname, où libname est votre plate-forme cible supportée (Win32, Win64 ou OSX32).
  2. Dans le répertoire Library de votre plate-forme cible supportée (libname), créez la clé suivante :
    CompatibilityUnitScopes
  3. Ajoutez une valeur chaîne :
Par exemple, cette entrée de registre ajoute trois noms de portées d'unités de compatibilité (NewComp, OldComp et MyComp) pour le fournisseur MyComponentCompany :
HKEY_CURRENT_USER\Software\Embarcadero\BDS\9.0\Library\Win32\CompatibilityUnitScopes\MyComponentCompany\MyComp;NewComp;OldComp

La rubrique d'aide Ajout de noms de portées d'unités pour vos propres composants décrit une autre solution moins sécurisée qui affecte chaque projet indépendamment de l'état.

Notes sur les add-ins tiers

Certains add-ins tiers supportent le développement multiplate-forme

Le support par les add-ins tiers du développement multiplate-forme est récapitulé sur : Support multiplate-forme des logiciels tiers.

La plate-forme OS X est sélectionnable mais pas supportée pour IntraWeb

Si vous créez une application Delphi ou C++ IntraWeb, vous pouvez sélectionner la plate-forme OS X dans le noeud Plates-formes cible du Gestionnaire de projets, mais IntraWeb ne supporte pas le développement pour la plate-forme OS X.

Notes FastReport

Si vous utilisez FastReport avec RAD Studio XE2, soyez conscient des problèmes suivants :

Notes Windows 7 et Windows Vista

Installer avec les privilèges Admin

Dans Windows Vista, vous devez exécuter l'installateur en étant connecté en tant qu'utilisateur avec des privilèges administratifs, car les modifications apportées au répertoire Program Files nécessitent une sécurité élevée.

Redémarrer le client d'enregistrement

Le client d'enregistrement échoue de temps en temps sur Windows Vista. Pour résoudre ce problème, sélectionnez Autoriser ce programme quand le Firewall Windows Live OneCare apparaît, puis quittez et redémarrez l'enregistrement. Ne sélectionnez pas Bloquer ce programme, car cela empêchera l'enregistrement par la suite.

Le dossier bpl par défaut pour la sortie x64 n'est pas créé par l'installateur

Le dossier de sortie bpl par défaut pour les packages x64 est un sous-répertoire du dossier x86. L'installateur du produit crée le dossier x86 BPL, mais il ne crée pas le sous-dossier x64. Cela signifie que, pour compiler des applications packagées Win64, vous devez disposer des privilèges administrateur sous Windows 7.

Débogage nécessitant les privilèges Admin

Sur Vista avec UAC activé, si un nom de fichier exécutable contient "setup", "update" ou "install", vous ne pouvez pas déboguer le programme à moins que l'EDI ne soit démarré sous le compte Administrateur système. Toute tentative d'exécution de fichiers exécutables incluant ces chaînes en dehors de l'EDI déclenche un dialogue de contrôle du compte utilisateur demandant le mot de passe du compte Administrateur système. L'exécution dans l'EDI sans débogage déclenche une erreur indiquant que le programme nécessite une élévation de privilège. L'exécution dans l'EDI avec débogage déclenche une erreur de création de processus. Pour de plus amples informations, voir http://blogs.msdn.com/uac/archive/2006/01/13/512776.aspx.

TAnimate nécessite TShellResources

Si vous utilisez le composant TAnimate dans Vista ou Windows 7, vous devez aussi ajouter le composant TShellResources (dans l'onglet Win32 de la Palette d'outils) à votre projet. L'ajout de TShellResources ajoute les ressources suivantes :

Reconfigurer le BDE (obsolète)

Si vous utilisez toujours le BDE obsolète sur Windows Vista ou Windows 7, vous devez reconfigurer le BDE afin qu'il n'essaie pas d'écrire des fichiers dans le répertoire C:\<racine>. Connectez-vous en tant qu'administrateur et exécutez BDEAdmin.exe, situé dans Program Files\Common Files\Borland Shared\BDE. Sous Native, cliquez sur PARADOX et modifiez NET DIR afin qu'il pointe sur un emplacement autre que le répertoire racine. Une cible suggérée est C:\Utilisateurs\Public\Documents publics\RAD Studio.

Problème de manifeste

L'ordinateur peut redémarrer lorsque vous ajoutez un manifeste qui possède l'extension Windows Vista à un fichier .exe ou un fichier .dll dans Windows XP Service Pack 2 (SP2). Pour de plus amples informations sur ce problème et le hotfix, voir http://support.microsoft.com/kb/921337.

Sélection des dialogues pré-Vista

Si vous reconstruisez une application VCL existante incluant des composants de dialogue communs et l'exécutez sur un système Vista, elle utilise les dialogues de tâche et de fichier Vista à la place des dialogues traditionnels de message, d'enregistrement et d'ouverture. Si ce n'est pas votre souhait, définissez la variable globale UseLatestCommonDialogs sur false au début d'un programme pour imposer le comportement original.

IntraWeb sur Vista

Pour exécuter et déboguer la VCL pour les applications Web (IntraWeb), vous devez utiliser Windows 2003 ou Windows XP. Si vous utilisez Windows Vista, vous devez désactiver le UAC (User Access Control) lors du débogage des applications VCL for the Web. Pour de plus amples informations sur IntraWeb, notamment l'aide de la VCL pour les composants Web, voir http://www.atozed.com/intraweb/docs/.

WinHelp n'est pas supporté

Windows Vista ne supporte pas la visionneuse d'aide WinHelp obsolète (WinHelp.exe). Vous devez migrer votre système d'aide vers HtmlHelp. Si vous voulez utiliser les fichiers .HLP, ajoutez la visionneuse WinHelp32.exe à la liste uses de toute unité incluse dans l'application, et téléchargez la visionneuse WinHelp32 depuis le site web de Microsoft http://www.microsoft.com/downloads/details.aspx?FamilyID=6ebcfad9-d3f5-4365-8070-334cd175d4bb.

Notes Delphi

Echec de la compilation de grands groupes de projets en raison d'une mémoire insuffisante

Voici une façon de pallier à ce problème : fermez le groupe de projets, rouvrez-le dans le Gestionnaire de projets, cliquez avec le bouton droit sur le projet ayant provoqué l'erreur dans le groupe, et choisissez A partir d'ici | Construire sur le menu contextuel. La compilation devrait réussir pour les projets restants.

Si le projet est composé de fichiers .exe (pas des packages), une autre solution consiste à activer les packages d'exécution et à construire avec ces packages. Pour ce faire :

  1. Allez sur Projet > Options > Packages > Packages d'exécution.
  2. Activez Lier avec les packages d'exécution.
  3. Cliquez sur le champ Packages d'exécution puis cliquez sur les points de suspension [...] qui apparaissent.
  4. Dans Packages d'exécution, ajoutez rtl à la liste des packages d'exécution :
    1. Entrez rtl dans le champ au centre.
    2. Cliquez sur Ajouter.
  5. Cliquez sur OK.

Fichiers d'en-tête .hpp

Depuis XE et en continuant avec XE2, le compilateur Delphi génère des fichiers d'en-tête .hpp par défaut. Il s'agit d'un changement par rapport aux releases pré-XE. Par exemple, si vous essayez d'importer une DLL par valeur ordinale, le compilateur signale l'erreur "E1025 Fonctionnalité de langage non supportée" car la génération .hpp n'est pas compatible avec l'importation d'une DLL par valeur ordinale. Toutefois, vous pouvez importer une DLL par valeur ordinale si vous désactivez la génération .hpp. Allez sur la page Projet > Options > Compilateur Delphi > Sortie - C/C++, et pour l'option Génération des fichiers de sortie C/C++, sélectionnez une valeur qui n'inclut pas les en-têtes, telle que "Générer seulement les DCUs".

Notes C++Builder

Ajout de .dylibs requis pour la liaison dynamique des applications C++ FireMonkey OS X

Pour les applications C++ OSX qui utilisent des packages, le déploiement du package d'exécution requis peut être incomplet. Certains packages nécessitent un déploiement manuel, notamment les packages requis implicitement par les packages d'exécution du projet listés mais qui n'apparaissent pas dans la liste des packages d'exécution (sur Projet > Options > Packages d'exécution). La solution consiste à utiliser le gestionnaire de déploiement pour ajouter tous les .dylibs requis.

Applications console C++ nécessitant une liaison avec la RTL Delphi

Si vous créez une application console C++ sans framework sélectionné, l'application console ne sera pas capable de lier avec la bibliothèque d'exécution Delphi ou de gérer les exceptions Delphi. Si vous ajoutez une unité à cette application console, l'EDI ajoute les bibliothèques d'exécution Delphi appropriées mais ne bascule pas les bibliothèques d'exécution C++ sur les versions qui initialisent et fonctionnent avec Delphi. La solution consiste à activer "Lier avec la bibliothèque d'exécution Delphi" sur la page Projet > Options > Lieur C++.

System.UnicodeString.t_str() à présent obsolète

La fonction UnicodeString.t_str() renvoie maintenant toujours wchar_t*, quel que soit le mappage _TCHAR en cours.

Cette modification ne vous affecte pas si vous utilisez le mappage _TCHAR = wchar_t.  Dans les dernières releases, t_str() renvoyait soit const char* (si _TCHAR était mappé sur char), soit const wchar_t* (si _TCHAR était mappé sur wchar_t). Si le mappage _TCHAR est défini sur char, vous ne pouvez pas affecter le résultat de la fonction t_str() à quelque chose qui ne supporte pas wchar_t (dans ce cas, une erreur de compilation est émise).

Afin d'utiliser les valeurs char, convertissez le code comme suit :

Avant XE : mystr.t_str()

Pour XE et XE2 : AnsiString(mystr).c_str()

Spécification des répertoires WebSnap

Si vous utilisez C++Builder avec WebSnap, assurez-vous que les exécutables sont écrits dans le même répertoire que les fichiers HTML. Sur Projet > Options > Répertoires et Conditions > Répertoire de sortie finale, entrez un point (".") afin que l'exécutable soit écrit dans le répertoire du projet.

Résolution des problèmes d'achèvement du code

Dans des cas rares, l'audit de code pour C++ peut échouer ou fournir des résultats incomplets quand l'en-tête précompilé d'un projet est régénéré. Quand cela se produit, l'une des actions suivantes corrigera le problème :

Utilisation des outils Delphi DesignIntf et DesignEditors

Si vous créez un package C++ contenant une unité Delphi qui utilise les outils DesignIntf et DesignEditors, vous devez choisir Projet > Options > Compilateur Delphi > Autres options. Dans Utiliser ces packages lors de la compilation, ajoutez DesignIDE dans la zone de liste déroulante.

Notes sur les bases de données

Le client FireMonkey nécessite une solution pour le support du proxy client DataSnap REST

Les clients DataSnap ou Cloud pour C++/OS X n'effectuent pas de liaison quand ils sont construits avec les packages d'exécution. La solution consiste à ajouter CustomIPTransport à la liste des packages d'exécution (choisissez Projet > Options > Packages > Packages d'exécution).

Unicode et les pilotes

Les pilotes de base de données suivants ne sont pas compatibles Unicode :

Echec de connexion

Si vous effectuez la mise à niveau d'une application de base de données de Delphi 2007 vers Delphi XE2, la connexion est susceptible d'échouer. La solution consiste à ajouter DBX<nom base de données> à votre clause uses. Par exemple, si vous utilisez un TSQLConnection et établissez une connexion à une base de données Oracle, vous devez ajouter DBXOracle à votre clause uses.

Les combinaisons suivantes ont été testées :

LibMySQL.dll (5.1.XX) DBXMys.dll MySQL 4.0.XX Server
LibMySQL.dll (5.1.XX) DBXMys.dll MySQL 4.0.XX Server
LibMySQL.dll (5.1.XX) DBXMys.dll MySQL 5.0.XX Server
LibMySQL.dll (5.1.XX) DBXMys.dll MySQL 5.1.XX Server

Conflits de pilotes dans les installations multiversions

Si une version antérieure du produit est installée et si vous essayez d'utiliser l'ancienne version, il est possible que les pilotes de cette release soient chargés lors d'une exécution depuis l'EDI. En effet, le répertoire \bin se trouve en tête du chemin système. Pour utiliser les anciens pilotes, une solution consiste à ajouter une redéfinition à votre chemin dans Outils > Options > Variables d'environnement et à placer votre ancien répertoire \bin au début du chemin.

Serveurs supportés

dbExpress

* Le pilote n'est pas totalement certifié pour cette version de la base de données.

Notes sur le débogueur

Garantir les informations de débogage en ajoutant les fichiers .dcp au déploiement de l'application

Si votre application Delphi est liée aux packages d'exécution, les informations de débogage attendues peuvent ne pas être générées. Cela est vrai pour les applications Mac OS X et les applications Win64 ou Win32 distantes. La solution consiste à utiliser le gestionnaire de déploiement pour ajouter les fichiers .dcp qui correspondent aux packages d'exécution de votre liste de packages d'exécution. Par exemple, si vous utilisez la rtl, vous devez déployer le fichier rtl.dcp.

Utilisez les fichiers .dcp situés dans les répertoires Embarcadero\Rad Studio\9.0\lib, comme suit :

Erreur possible pour une application Delphi FMX HD OS X

L'erreur Delphi E2213 (Format de l'unité packagée incorrect) peut se produire lors de la construction d'une application Delphi FireMonkey HD OS X dont les options Lier avec les packages d'exécution et Utiliser les .dcus de débogage sont activées. Si vous définissez ces options (Projet > Options) séparément et dans l'ordre donné, et effectuez une construction après l'ajout de chaque option, la construction échoue après la définition de l'option Utiliser les .dcus de débogage. La solution consiste à enregistrer le projet, à tout fermer et à rouvrir le projet. A ce stade, une construction devrait réussir.

Résultats inattendus issus des exceptions sur Mac OS X

Sur Mac OS X, certaines exceptions du système d'exploitation sont mappées sur les exceptions du langage Delphi par la bibliothèque d'exécution. Parmi ces exceptions, les exceptions de niveau mach EXC_BAD_ACCESS, EXEC_ARITHMETIC et EXC_BAD_INSTRUCTION, ou les signaux de niveau Unix équivalents. Cette fonctionnalité n'est pas compatible avec le débogage et est désactivée quand un processus est créé pour le débogage. Le débogueur notifiera l'utilisateur quand l'exception est déclenchée. Néanmoins, les programmes qui s'appuient sur l'interception de telles exceptions et poursuivent leur exécution peuvent avoir un comportement différent lorsqu'ils sont exécutés sous le débogueur.

Messages sur Mac après les plantages

Si votre application OS X contient des exceptions non gérées, le débogueur affiche une notification d'exception qui vous permet d'arrêter, de continuer ou d'ignorer. Si vous continuez, et si Xcode est installé sur le Mac cible, le Mac affiche un message d'avertissement de sortie inattendue, vous demandant d'envoyer un rapport à Apple. Vous pouvez désactiver cet avertissement en visitant la page CrashReporterPrefs, située sur le Mac dans Développeur/Applications/Utilitaires. Cliquez sur le bouton Serveur pour autoriser l'opération sans surveillance.

Points d'arrêt données dans le code

La tentative de placer dans le code un point d'arrêt données risque de fausser le déroulement du programme. Par exemple, placer un point d'arrêt données sur un slot VMT risque de faire aller le programme à un emplacement incorrect (le "dernier" octet de l'adresse est écrasé par 0xcc).

Problèmes après Exécuter > Détacher

Après Exécuter > Détacher sur une session de débogage, l'EDI peut se bloquer quand vous démarrez une autre session de débogage.

System Mechanic 7 Pro est incompatible avec le débogueur

System Mechanic 7 Pro désactive la fonctionnalité du débogueur intégré. Le comportement observé est la terminaison immédiate du processus et un message de diagnostic dans la vue Journal d'événements. Si le produit est installé, la fonctionnalité de débogage peut être rétablie en désactivant l'exécution du service "iolo DMV" via le Gestionnaire de services.

Notes sur l'internationalisation

Migration des projets ITE/ETM depuis Delphi 7

Pour effectuer une mise à niveau d'un projet ITE/ETM depuis Delphi 7, vos dfms doivent être au format texte. Pour effectuer cette conversion, utilisez convert.exe (installé par défaut dans C:\Program Files\CodeGear\RAD Studio\8.0\bin).

Lorsque le projet est importé et que vous avez mis à jour votre dll de ressources à l'aide de l'expert DLL de ressources, il est possible que vous constatiez que votre dll de ressources n'a pas été mise à jour.  Dans ce cas, le problème est résolu en effectuant simplement une nouvelle fois la mise à jour dans l'expert.

Utilisation de vos paramètres régionaux utilisateur comme paramètres régionaux de l'interface utilisateur

Il n'est pas recommandé d'utiliser vos paramètres régionaux utilisateur pour les paramètres régionaux de l'interface utilisateur. Les paramètres régionaux utilisateur contrôlent le format des nombres, de la date et de l'heure. Les paramètres régionaux de l'interface utilisateur contrôlent les menus, les messages d'erreur et le texte lisible d'une langue spécifique.

VCL/RTL et paramètres régionaux

La VCL/RTL sélectionne le module localisé que Windows utilise. Si vous voulez utiliser les paramètres régionaux utilisateur pour sélectionner le module de l'interface utilisateur, créez une nouvelle unité, OverrideUIWithUserLocale.pas, et collez le code suivant :

 
             unit OverrideUIWithUserLocale;
             interface
             implementation
               uses Windows;
             initialization
               SetLocaleOverride(GetUILanguages(GetThreadLocale));
             end.

Ajoutez cette unité OverrideUIWithUserLocale en tant que première entrée de la section uses :

 
            program Project1;
            uses
              OverrideUIWithUserLocale,
              Forms,
              Unit1 in 'Unit1.pas' {Form1};

Notes FireMonkey

FireMonkey nécessite le concepteur incorporé

FireMonkey supporte seulement le Concepteur de fiches incorporé. Si l'EDI est défini pour utiliser le concepteur non incorporé (c'est-à-dire, si Outils > Options > Options d'environnement > Concepteur VCL > Concepteur incorporé est décoché), les projets FireMonkey ouvriront alors les unités de fiches FireMonkey comme si elles étaient des unités Delphi brutes. Le Concepteur de fiches ne sera pas accessible. Pour utiliser le Concepteur de fiches, cochez l'option Concepteur incorporé et redémarrez l'EDI.

Fichiers requis manquants (IPIndyImpl.dcp et inetdbexpress.dcp)

Les applications Delphi FireMonkey qui ciblent les plates-formes Win64 et OS X peuvent signaler des fichiers manquants. IPIndyImpl.dcp (utilisé par CloudService.dcp) est manquant pour les plates-formes Win64 et OS X, et inetdbxpress.dcp est manquant dans le répertoire win64\release. Vous pouvez télécharger ces fichiers dans un fichier .zip sur http://cc.embarcadero.com/item/28484 .

TViewport3D doit être hébergé dans un environnement 2D

L'ajout de composants 3D à un TViewport3D n'ayant pas pour parent une fiche HD ou TLayer3D génère une violation d'accès.

L'événement TListBox.OnChange ne supporte pas la propriété sélectionnée

L'événement OnChange pour Fmx.ListBox.TListBox crée une violation d'accès si la procédure utilise la propriété TListBox.Selected.

Problèmes d'affichage des caractères d'Extrême-Orient

Une application FireMonkey OS X sous le débogueur, avec certaines régions d'Europe, n'affiche pas correctement les caractères d'Extrême-Orient. Par exemple, les caractères japonais/chinois peuvent s'afficher de manière incorrecte dans tous les composants quand la définition de la région du système n'est pas Anglais ou Japon. Toutefois, si l'application est invoquée depuis le Finder, elle peut afficher correctement les caractères d'Extrême-Orient.

Pour éviter ce problème, ajoutez la ligne suivante au début du script shell paserver.command :

 
  export LANG=C

Le script paserver.command est typiquement situé dans le dossier /users/nom-utilisateur/Applications/Embarcadero/PAServer.

Le dialogue Grille se ferme de façon inattendue suite à l'appui sur ECHAP

Quand vous modifiez une grille à l'intérieur d'une fiche modale (c'est-à-dire en tapant du texte sur une cellule de grille), l'appui sur la touche ECHAP peut fermer de façon inattendue le dialogue modal.

Certaines applications FMX OS X incluent à tort des éléments Windows

Une application FMX HD OS X qui contient un TXMLDocument ne se compile pas. TXMLDocument s'attend à Xml.Win.msxmldom.dcu (Delphi) ou Xml.Win.msxmldom.hpp (C++), les deux étant Windows seulement.

Une application FMX OS X qui contient un TTcpClient ne se compile pas. TTcpClient s'attend à Web.Win.Sockets.dcu (Delphi) ou Web.Win.Sockets.hpp (C++), les deux étant Windows seulement.

Solution Indy TIdAntiFreeze pour le concepteur FireMonkey

La classe Indy TIdAntiFreeze n'est pas disponible en tant que composant de conception pour les applications FMX. En solution, ajoutez FMX.IdAntiFreeze dans votre clause uses et instanciez-le par programme.

Notes VCL/RTL

Styles VCL introduits pour les applications VCL

Pour ajouter un style personnalisé à votre application VCL, accédez à la boîte de dialogue Projet > Options > Application > Apparence. La release XE2 ne supporte pas les styles pour les contrôles ruban.

Styles VCL et bordures de fiches

Avec BorderStyle sur bsDialog, bsSingle ou bsToolWindow, la bordure de la fenêtre de droite empiète sur la zone client.

Une fiche contextuelle se ferme de façon inattendue dans les applications stylées

Dans les applications qui utilisent les styles, parfois Form.Close ne fonctionne pas, et une fiche contextuelle peut se fermer si elle perd la focalisation.

SetThreadAffinityMask ne supporte pas 64 bits

La fonction RTL Win.Winapi.Windows.SetThreadAffinityMask ne supporte pas le développement Windows 64 bits. La solution consiste à déclarer votre propre version de SetThreadAffinityMask. Pour de plus amples informations, voir http://msdn.microsoft.com/en-us/library/ms686247 .

Thèmes d'exécution et TImageList.ColorDepth

Si vous définissez la propriété TImageList ColorDepth sur cd32Bit et si ImageList contient des images transparentes, vous devez activer les thèmes d'exécution afin que les images fusionnent correctement quand elles sont dessinées sur les contrôles. Dans l'EDI, allez sur Projet > Options > Application.

Ajouter DataSnap.Midas.dcu si vous utilisez un dialogue erreur et conciliation VCL ou un composant TSimpleDataSet

Un projet VCL contenant un dialogue erreur et conciliation VCL ou un composant TSimpleDataSet ne compile pas sans l'ajout de DataSnap.Midas.dcu. Vous trouverez DataSnap.Midas.dcu dans le répertoire d'installation de votre produit, sous \lib\plate-forme, où plate-forme est win32, win64 ou osx32.

Problème Unicode dans ClientDataSet.SaveToFile en XML

Si des caractères internationaux sont utilisés dans les champs chaîne/mémo, TCustomClientDataSet.SaveToFile en XML peut générer des données incorrectes. Par exemple, des espaces peuvent apparaître à la place des caractères accentués.

Problème SizeOf pour TNotifyIconData

En raison de modifications effectuées dans le SDK Windows, l'appel de SizeOf(TNotifyIconData) générera des résultats incorrects sur les versions de Windows antérieures à Windows Vista. L'appel de la méthode TNotifyIconData.SizeOf renvoie la taille correcte sur toutes les versions de Windows.

Notes ActiveX

Utiliser TLIBIMP pour importer un contrôle ActiveX ou une bibliothèque de types 64 bits

L'expert Composant > Importer un composant examine seulement le registre 32 bits. Lorsque l'exécution s'effectue sur un système 64 bits, vous devez utiliser directement TLIBIMP si vous voulez importer un contrôle ActiveX ou une bibliothèque de types spécifique à un système 64 bits.

Utiliser TRegSvr 64 bits pour recenser les serveurs DLL/en processus 64 bits

L'EDI, étant un processus 32 bits, ne peut pas recenser les serveurs DLL/en processus 64 bits (les processus 32 bits ne peuvent pas charger des DLLs 64 bits). Pour recenser les serveurs en processus 64 bits, vous devez utiliser la version 64 bits de TRegSvr.exe, située dans $(BDS)\bin64\TRegSvr.exe.

Les bibliothèques C++ ActiveX doivent utiliser la RTL et les packages statiques

Toutes les bibliothèques C++ ActiveX (avec ATL ou DAX) doivent utiliser la RTL et les packages statiques. Choisissez Projet > Options, puis :

Notes sur le serveur SOAP

Utilisation des composants SOAP dans C++ sur OS/X

Les applications OS/X C++ utilisant le runtime SOAP (tel que le composant THTTPRIO) doivent lier explicitement le package Indy, étant donné que l'EDI intercepte seulement les dépendances de niveau supérieur.

Pour ce faire, ajoutez les lignes suivantes à un fichier .cpp de votre projet :

 
  #if defined(__APPLE__)
   #ifndef USEPACKAGES
    #pragma link "IndyCore.a"
    #pragma link "IndyProtocols.a"
    #pragma link "IndySystem.a"
   #else
    #pragma link "IndyCore.bpi"
    #pragma link "IndyProtocols.bpi"
    #pragma link "IndySystem.bpi"
   #endif
  #endif

Un autre chemin pour invoquer l'importateur WSDL

Si vous invoquez l'expert Importateur WSDL en utilisant le chemin Fichier > Nouveau > Autre > Services Web > Importateur WSDL, et que vous entrez une URL non valide, des messages d'erreur comme les suivants peuvent apparaître :

La solution préférée consiste à démarrer l'importateur WSDL en utilisant le chemin (Composant > Importer WSDL). L'erreur devrait ensuite être interceptée à l'intérieur de l'expert.

Services .NET SOAP disponibles avec Delphi Prism

Le support du serveur Win32 SOAP génère des services Web de style RPC|Encoded. Si vous voulez un service document/littéral ou un service de tout autre style compatible WS-I, vous devez construire votre serveur SOAP avec Delphi Prism, qui supporte les spécifications SOAP prises en charge par le .NET Framework, notamment les styles compatibles WS-I.

Notes sur la modélisation

Quand vous ouvrez le menu contextuel (clic droit) sur l'onglet Vue Modèle du Gestionnaire de projets, il est possible que la commande Ouvrir le diagramme ne soit pas activée. Toutefois, vous pouvez ouvrir la vue diagramme en double-cliquant sur la commande Ouvrir le diagramme grisée.

Notes sur l'aide

Voir aussi