Notes de release pour Delphi XE2 et C++Builder XE2

By: Masahiro Arai

Abstract: Notes de release pour Delphi XE2 et C++Builder XE2

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

    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.

Vous pouvez trouver le fichier Install.htm aux emplacements suivants :

  • La version docwiki à jour sur Notes d'installation pour XE2
  • Dans le fichier Installer.zip
  • En cliquant sur le bouton d'aide du lanceur de l'installation
  • Dans le répertoire d'installation de votre produit ; par défaut :
    C:\Program Files\Embarcadero\RAD Studio\x.x

    Notes de portée générale

    Licences des versions antérieures

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

  • Delphi XE2 inclut des licences pour Delphi XE, 2010, 2009, 2007 et 7.
  • C++Builder XE2 inclut des licences pour C++Builder XE, 2010, 2009, 2007 et 6.
  • RAD Studio XE2 inclut les licences des versions antérieures listées dans les éléments précédents.

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

    Débogage WebSnap et WebBroker avec WebAppDebugger

Pour déboguer les applications WebSnap et WebBroker en utilisant WebAppDebugger, démarrez en exécutant serverinfo.exe, qui s'enregistre 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

.

    Clés de registre pour les installateurs de composants

Si vous êtes 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 une valeur chaîne (ou mettez-la à jour si elle existe déjà) appelée ForceEnvOptionsUpdate. Assignez-lui la valeur chaîne "1". Quand cette clé de registre a la valeur "1", elle met à jour lors de la prochaine exécution de l'EDI le fichier EnvOptions.proj 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 l'une des clés de registre suivantes, il doit aussi ajouter ou mettre à jour la clé Globals\ForceEnvOptionsUpdate :

  • Software\Embarcadero\BDS\x.x\Library\Browsing Path
  • Software\Embarcadero\BDS\x.x\Library\Debug DCU Path
  • Software\Embarcadero\BDS\x.x\Library\Namespace Search Path
  • Software\Embarcadero\BDS\x.x\Library\Package DCP Output
  • Software\Embarcadero\BDS\x.x\Library\Package DPL Output
  • Software\Embarcadero\BDS\x.x\Library\Search Path

    Notes à propos de Windows 7 et Windows VistaTM

    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êche l'enregistrement par la suite.

    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.

    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 :

  • FindFolder.res
  • FindFile.res
  • FindComputer.res
  • CopyFiles.res
  • CopyFile.res
  • RecycleFile.res
  • EmptyRecycle.res
  • DeleteFile.res

    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 changez 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\RAD Studio.

    Problème de manifeste

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

    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âches et de fichiers Vista à la place des dialogues traditionnels de messages, 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 d'origine.

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

    Débogage nécessitant les privilèges Admin

Sur Vista avec UAC activé, si le nom de fichier d'un exécutable inclut "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.

    Notes Delphi

    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 émet le message "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 > 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

     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 assigner 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()

    Les bibliothèques 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 :

  • Sur la page Lieur C++, choisissez false pour l'option Lier avec la RTL dynamique.
  • Sur la page Packages, décochez la case Construire avec les packages d'exécution.

    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>Chemins et répertoires>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

Peu souvent, l'audit de code 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 :

  • Refaire un make du projet
  • Supprimer l'en-tête précompilé
  • Nettoyer et faire un make du projet

    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

    Unicode et les pilotes

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

  • DB2
  • Sybase ASE
  • Informix

    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

  • InterBase XE, 2009, 2007, 7.5.1, 7.1*, 8.0*, 6.5* (Tous) (Pilote dbxINT.dll, Client GDS32.DLL)
  • Firebird 2.5, 2.1, 1.5 (Ent) (Pilote dbxfb.dll, Client fbclient.dll)
  • Sybase SQL Anywhere 12, 11, 10, 9, 8*, (Ent) (Pilote dbxASA.dll, Client dbodbc*.dll)
  • DB2 UDB 9.5, 9.1, 8.x*, 7.x* (Ent) (Pilote dbxDB2.dll, Client db2cli.dll)
  • Informix 9.x (Ent) (Pilote dbxINF.dll, Client isqlb09a.dll)
  • Microsoft SQL Server 2008, 2005, 2000 (Ent) (Pilote dbxMSS.dll, Client sqlncli10.dll)
  • MySQL 5.1, 5.0.27, 4.1* (Tous) (Pilote dbxMYS.dll, Client libmysql.dll)
  • Oracle 11g, 10g, 9.2.0*, 9.1.0* (Ent) (Pilote dbxora.dll, Client OCI.DLL)
  • Sybase ASE 12.5 (Ent) (Pilote dbxASE.dll, Client libct.dll et libcs.dll)

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

    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 le débogueur

    Points d'arrêt

Essayer de placer dans le code un point d'arrêt données risque de corrompre l'exécution 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).

    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 mettre à niveau 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 la 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 pour les 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 même 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 sur la VCL/RTL

    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 se mélangent correctement quand elles sont dessinées sur les contrôles.

    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 sur le serveur SOAP

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 tels que les suivants peuvent apparaître :

  • Impossible de charger l'emplacement/fichier WSDL : <URL incorrecte>. Erreur [document vide].
  • Impossible de charger l'emplacement/fichier WSDL : <URL incorrecte>. Erreur [espace non autorisé à cet emplacement].

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

Le support du serveur Win32 SOAP génère les anciens 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, supportant les spécifications SOAP qui sont prises en charge par le .NET Framework, notamment les styles compatibles WS-I.

    Notes sur l'aide

Par défaut, les fichiers d'aide sont installés dans C:\Program Files\Embarcadero\RAD Studio\X.X\Help\Doc.

Pour obtenir des informations sur les problèmes de l'aide actuellement ouverts, voir Problèmes connus dans l'aide.

Le contenu de l'aide de RAD Studio est généré depuis un docwiki, et tous les utilisateurs de RAD Studio sont invités à participer au docwiki situé sur http://docwiki.embarcadero.com.

Microsoft Document Explorer 2008 (dexplore.exe) est nécessaire pour visualiser la documentation Delphi et C++Builder XE2 installée localement. Si Microsoft Document Explorer 2008 n'est pas installé, il le sera lors de l'installation du système d'aide.

Problème connu : une version pré-release de la licence pour Microsoft Document Explorer XE est affichée.

L'aide du Kit de développement Microsoft Windows Platform SDK n'est pas installée par défaut avec l'aide du produit. Vous pouvez choisir d'installer l'aide Microsoft SDK quand vous installez l'aide en définissant l'élément Aide Microsoft SDK de la page Sélectionner les fonctionnalités sur Sera installé sur le disque dur local. Pour de plus amples informations, voir le fichier Install.html.

Vous pouvez choisir des volumes d'aide spécifiques (tels que MSDN Online) à utiliser dans les fonctions de recherche et d'index de l'aide en ligne. Pour obtenir des informations sur le meilleur usage possible de la visionneuse d'aide, voir l'article EDN, "Getting the Best Results with RAD Studio Online Help" sur http://edn.embarcadero.com/article/37562.

Documentation IntraWeb : Pour obtenir des informations sur IntraWeb, notamment l'aide pour les composants VCL for the Web, voir http://www.atozed.com/intraweb/docs/.




Server Response from: ETNASC04