Afficher : Delphi C++
Préférences d'affichage

Notes de release pour XE3

De RAD Studio XE3

Remonter à Nouveautés de Delphi et C++Builder XE3


Voir aussi : Notes de release pour C++Builder Windows 64 bits

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/XE3/fr/Notes_de_release_pour_XE3.

Sommaire

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

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

  • Ouvrir le fichier Installer.zip
  • Cliquer sur le bouton d'aide du lanceur de l'installation
  • Ouvrir le fichier Install.htm situé dans le répertoire d'installation de votre produit ; par défaut
    C:\Program Files\Embarcadero\RAD Studio\x.x


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 (Windows 64 bits utilise le répertoire Program Files (x86)).

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

  • Delphi XE3 inclut les licences pour Delphi XE2, XE, 2010, 2009, 2007 et 7.
  • C++Builder XE3 inclut les licences pour C++Builder XE2, XE, 2010, 2009, 2007 et 6.
  • RAD Studio XE3 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 XE3 ou le fichier Install.htm dans le répertoire d'installation de votre produit.

Changements du support pour le développement iOS

  • Les outils de développement FireMonkey iOS sont seulement supportés dans XE2. Les possesseurs de XE3 ont le droit de télécharger, d'installer et d'utiliser le produit XE2.


Ajout de DLL, dylibs ou 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.

N'installez pas de fichiers superflus dans les répertoires \bin

Embarcadero ne permet pas que des DLL tierces non signées soient placées dans les répertoires bin du produit :

  • $(BDS)\bin
  • $(BDS)\bin64

Une erreur de validation de licence se produira.

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 dans 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", le fichier EnvOptions.proj est mis à jour sur disque lors de la prochaine exécution de l'EDI 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 :

  • 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

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 que le composant est affiché sur la Palette d'outils, et est vérifié 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.

  • Le système de construction de RAD Studio incorpore automatiquement une ressource RC_DATA dans le binaire du package Win32 nommé PLATFORMTARGETS, qui est un masque de bits des constantes pidXXX dans System.Classes.pas et reflète les plates-formes ciblées du projet de package. L'EDI le lit quand le package est chargé et l'utilise pour décider, par exemple, s'il faut désactiver les composants dans la palette quand une plate-forme non supportée est active.
    Le ciblage de plusieurs plates-formes avec un package de composant implique un contrat entre le développeur du composant et l'EDI. L'EDI suppose que, si un projet package de composant cible plusieurs plates-formes et que le développeur distribue le package d'exécution Win32 aux clients (et tous les fichiers compilables et liables associés), le développeur distribuera aussi tous les fichiers compilables et liables nécessaires, et les bits d'exécution, pour les autres plates-formes ciblées.
  • Des composants individuels peuvent utiliser l'attribut de classe ComponentPlatformsAttribute pour redéfinir les données de PLATFORMTARGETS, en utilisant un masque de bits des mêmes constantes dans Classes. Par exemple :
     type
         [ComponentPlatformsAttribute(pidWin32 or pidWin64)] // not supported on OSX
         TMyComponent = class(TComponent)
         private
          ...
         end;

    L'emploi de cet attribut implique le même contrat que celui décrit à la première puce.

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

Les noms de portées d'unités étaient nouveaux 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\10.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 :
    • Value Name = vendorname, où vendorname est le nom de votre entreprise de développement de composants
    • Value Data = unitscopenames, où les noms de portées d'unités sont délimités par des points-virgules
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\10.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

Erreur de chargement de package après la désinstallation de FastReport

Si vous désinstallez FastReport (à l'extérieur de l'installateur du produit), vous risquez d'obtenir une erreur telle que :

Can't load package C:\Program Files (x86)\FastReports\LibD17\dclfs17.bpl or dclfsDB17.bpl.
The specified module could not be found.
Do you want to attempt to load this package the next time a project is loaded?

Dans ce cas, vous devez répondre Non.

Fonctionnalités XE3

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

  • FastReport supporte seulement les applications VCL, mais ne supporte pas OS X. Si vous créez une application HD FireMonkey, l'onglet des exportations FastScript, FastReport 4.0 ou FastReport 4 peut être disponible, mais vous ne pourrez pas compiler l'application en raison de l'erreur 1026 Fichier introuvable : 'Dialogs.dcu'.
  • FastReport supporte le développement des applications Win64, mais les composants FastReport Win64 suivants peuvent être désactivés sur la palette d'outils :
    • Tous les éléments de la section FastScript
    • FastReport 4.0 | TfrxCheckBoxObject
    • FastReport 4.0 | TfrxGZipCompressor
    • FastReport 4.0 | TfrxCrypt
    • Outils FR4 | TfrxDocSite
    • Outils FR4 | TfrxTBPanel
    • Outils FR4 | TfrxRuler
    • Outils FR4 | TfrxScrollBox
    • Exportations FastReport 4 | TfrxBMPExport
    • Exportations FastReport 4 | TfrxJPEGExport
    • Exportations FastReport 4 | TfrxTIFFExport
    • Exportations FastReport 4 | TfrxGIFExport. La solution consiste à créer un projet Win32, à ajouter ces éléments sur la fiche de l'application, puis à ajouter la plate-forme Win64 au projet. Vous pouvez ensuite compiler avec succès le projet pour Win64.

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 :

  • 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 modifiez NET DIR afin qu'il pointe sur un emplacement autre que le répertoire racine. Nous vous suggérons la cible 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/Documentation/Index.EN.aspx.

WinHelp n'est pas supporté

Windows Vista et Windows 7 ne supportent 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 AppWave

Quand AppWave est en cours d'exécution, et que RAD Studio a été lancé (mais fermé), des erreurs surviennent lors de l'écriture des associations de fichiers pendant l'installation de RAD Studio.

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.

Fusion VM nécessite la définition du répertoire de projet par défaut

Si le partage de document est activé dans Fusion VM, vous pouvez recevoir les erreurs suivantes lors de la compilation :

[dcc32 Fatal Error] Project1.dpr(5): F1026 File not found: 'Unit1.dcu'

La solution consiste à ouvrir Outils > Options > Options d'environnement et à définir le champ Projet par défaut sur votre répertoire de documents en ajoutant "Rad Studio\Projets". Vous pouvez par exemple indiquer C:\Utilisateurs\testuser\Documents\RAD Studio\Projets.

Fichiers d'en-tête .hpp

A partir de XE et en continuant avec XE3, 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

VCL C++ avec LiveBindings requiert des packages dynamiques

Les projets VCL C++ qui utilisent LiveBindings requièrent que le projet soit construit ou lié avec les packages d'exécution activés (c'est la valeur par défaut pour C++). Vous pouvez activer et désactiver l'option 'Lier avec les packages d'exécution' sur la page Projet > Options > Packages > Packages d'exécution.

Liaison TSQLConnection.Driver à ODBC incorrecte

Si une application C++ construite sans package d'exécution a un TSQLConnection ayant l'option "Pilote" définie sur "ODBC", vous devez ajouter manuellement #pragma link "odbc32.lib" au projet. Sinon, jusqu'à trente trois erreurs de liaison peuvent apparaître lors de la construction de l'application. Les packages d'exécution sont activés par défaut pour C++. Vous pouvez activer et désactiver l'option 'Lier avec les packages d'exécution' sur la page Projet > Options > Packages > Packages d'exécution.

Ajout de .dylibs requis pour la liaison dynamique 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++.

Erreur du lieur C++ pour TList

Le lieur C++ génère une erreur car aucun corps de fonction n'est généré pour l'opérateur d'index du template TList (TList__1).

Le membre TList__1<T> suivant n'est pas développé :

T operator[](int Index)
{ return Items[Index]; }

Voici une solution :

TList__1<TMyClass>* p;
  (*p)[0]->Doit();// This fails to link
  p->Items[0]->Doit()// This links


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, XE2 et XE3 : 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 :

  • 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

VCL C++ avec LiveBindings requiert des packages dynamiques

Les projets VCL C++ qui utilisent LiveBindings requièrent que le projet soit construit ou lié avec les packages d'exécution activés (c'est la valeur par défaut pour C++). Vous pouvez activer et désactiver l'option 'Lier avec les packages d'exécution' sur la page Projet > Options > Packages > Packages d'exécution.

Désinstallation des composants LiveBindings

La désinstallation des packages de composants LiveBindings dclbindcompdbx170.bpl, dclbindcompfmx170.bpl ou dclbindcompvcl170.bpl sans qu'il y ait de désinstallation de dclbindcomp170.bpl peut provoquer divers problèmes dans l'EDI.

Pour éviter cette situation, effectuez l'une des actions suivantes :

  • Désinstaller tous les composants LiveBindings :
    • Désinstallez dclbincomp170.bpl, ce qui entraînera la désinstallation des autres packages.
  • Désinstaller un sous-ensemble de packages de composants LiveBindings. Pour réaliser cette opération sans risque, effectuez les étapes suivantes :
    1. Lancez RAD Studio.
    2. Fermez tous les projets.
    3. Cliquez sur Composants > Installer des packages.
    4. Décochez les packages à désinstaller.
    5. Cliquez sur OK.
    6. Quittez RAD Studio.
    7. Redémarrez RAD Studio.

Limite LiveBindings

LiveBindings, avec TListBox et TClientDataSet, supporte jusqu'à 200 lignes de données. Si vous avez plus de 200 lignes de données, vous devez gérer les données par programme.

Liaison TSQLConnection.Driver à ODBC incorrecte

Si une application C++ construite sans package d'exécution a un TSQLConnection ayant l'option "Pilote" définie sur "ODBC", vous devez ajouter manuellement #pragma link "odbc32.lib" au projet. Sinon, jusqu'à trente trois erreurs de liaison peuvent apparaître lors de la construction de l'application. Les packages d'exécution sont activés par défaut pour C++. Vous pouvez activer et désactiver l'option 'Lier avec les packages d'exécution' sur la page Projet > Options > Packages > Packages d'exécution.

Retirer les LiveBindings entre deux composants avant de supprimer l'un deux

Une violation d'accès peut se produire après le retrait d'un composant ayant une référence dans LiveBindings vers un composant qui reste dans l'application. Par exemple, si la propriété 'Adapter' d'un composant TAdapterBindSource est définie sur le composant TDataGeneratorAdapter, le retrait du composant TDataGenerator peut provoquer une violation d'accès.

La solution consiste à déconnecter le composant TDataGeneratorAdapter du TAdapterBindSource avant de supprimer le TDataGeneratorAdapter. En d'autres termes, ne remplissez pas la propriété 'Adapter'.


Il est parfois nécessaire de désactiver LiveBindings dans les modules de données

Dans certains scénarios, des erreurs lors de la fermeture sont susceptibles de se produire lorsqu'une fiche fait référence à une source de données LiveBindings, comme un TPrototypeBindSource, dans un module de données. La solution consiste à désactiver la source de données dans l'événement OnDestroy du module de données comme suit :

procedure TDataModule1.DataModuleDestroy(Sender: TObject);
begin
PrototypeBindSource1.Active := False;
end;

Support du client FireMonkey pour le 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).

Le module de données distant doit avoir un nom autre que AppServer

Quand vous utilisez l'expert Module de données distant, ne définissez pas le nom de la CoClasse sur 'AppServer'. Le nom de la CoClasse est utilisé pour créer une interface dont le nom est "I<CoClasse>". Et pour RDM, cette interface dérive de IAppServer. Puisque IAppServer ne peut pas dériver de IAppServer, l'utilisation de AppServer comme nom de CoClasse peut causer un plantage. Utilisez un nom pour la CoClasse autre que AppServer.

Pilote InterBase XE3 ODBC disponible en téléchargement distinct

InterBase XE3 est installé avec RAD Studio XE3. Néanmoins, le nouveau pilote InterBase ODBC n'est pas inclus dans l'installation. Le pilote est disponible en téléchargement pour les utilisateurs enregistrés à l'adresse http://cc.embarcadero.com/item/28975

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 XE3, la connexion est susceptible d'échouer. La solution consiste à ajouter Data.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.

Serveurs MySQL

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

RAD Studio supporte aussi Sqlite 3.x.

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 XE3, 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/Ult/Arch) (Pilote dbxfb.dll, Client fbclient.dll)
  • Sybase SQL Anywhere 12, 11, 10, 9, 8*, (Ent/Ult/Arch) (Pilote dbxASA.dll, Client dbodbc*.dll)
  • DB2 UDB 9.5, 9.1, 8.x*, 7.x* (Ent/Ult/Arch) (Pilote dbxDB2.dll, Client db2cli.dll)
  • Informix 9.x (Ent/Ult/Arch) (Pilote dbxINF.dll, Client isqlb09a.dll)
  • Microsoft SQL Server 2008, 2005, 2000 (Ent/Ult/Arch) (Pilote dbxMSS.dll, Client sqlncli10.dll)
  • MySQL 5.1, 5.0.27, 4.1* (Pro/Ent/Ult/Arch) (Pilote dbxMYS.dll, Client libmysql.dll)
  • Oracle 11g, 10g, 9.2.0*, 9.1.0* (Ent/Ult/Arch) (Pilote dbxora.dll, Client OCI.DLL)
  • Sybase ASE 12.5 (Ent/Ult/Arch) (Pilote dbxASE.dll, Client libct.dll et libcs.dll)
  • Sqlite 3.x (Pro/Ent/Ult/Arch) (Pilote [utilisez l'unité Data.DBXSqlite, installée par défaut dans C:\Program Files (x86)\Embarcadero\RAD Studio\<n.n>\source\data\dbx], Client sqlite3.dll)

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

Remarque : Les clients sont disponibles en téléchargement sur les sites Web des éditeurs.

Notes relatives au débogueur

Informations de débogage incluses dans les packages d'exécution : ajouter les fichiers .dcp au déploiement

Si votre application Delphi est liée aux packages d'exécution, les informations de débogage attendues peuvent ne pas être déployées. Dans ce cas, les points d'arrêt seraient ignorés, par exemple. 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 et les packages d'exécution fmx, vous devez déployer le fichier rtl.dcp et les fichiers fmx.dcp avec votre application.

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

  • Pour une application OS X : Embarcadero\Rad Studio\10.0\lib\osx\debug
  • Pour une application Windows 64 bits distante : Embarcadero\Rad Studio\10.0\lib\win64\debug
  • Pour une application Windows 32 bits distante : Embarcadero\Rad Studio\10.0\lib\win32\debug

Le débogueur distant Windows 32 bits peut ne pas démarrer sur une session répétée

Si vous utilisez un profil distant et PAServer pour déboguer une application Windows 32 bits, vous pouvez obtenir l'erreur suivante au lancement d'une deuxième session de débogage si le fichier source de débogage est modifié :

The process cannot access the file because it is being used by another process

La solution consiste à ouvrir le Gestionnaire des tâches et arrêter tous les processus rmtdbg170.exe en cours d'exécution (sélectionnez Arrêter le processus).

Pour de plus amples informations sur le débogage, voir :

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

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

Styles Metropolis UI non supportés sur Mac OS X

Les styles FireMonkey Metropolis UI ont été conçus pour Windows 8 et ne sont pas compatibles avec OS X. Même s'il est possible d'attacher un style Metropolis UI, tel que MetropolisUIDark, à une application FireMonkey OS X, la combinaison peut provoquer un blocage lors de l'exécution.

TImageControl.EnableOpenDialog est maintenant activée par défaut

La propriété FMX.Controls.TImageControl.EnableOpenDialog est activée par défaut. Ce qui signifie que cette propriété provoque l'affichage de la boîte de dialogue Ouverture de fichier par un contrôle image et remplace l'image par un fichier sélectionné par l'utilisateur. Pour désactiver ce comportement, décochez la propriété EnableOpenDialog.

Utiliser TPopup.IsOpen plutôt que TPopup.Popup

Il est recommandé d'ouvrir / fermer TPopup en définissant la propriété TPopup.IsOpen respectivement sur True ou False. L'utilisation de TPopup.Popup et TPopup.ClosePopup n'est pas recommandée. Une violation d'accès peut être provoquée si la méthode Popup est déclenchée sur un composant TPopup.


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.

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

Mouvements interactifs pas détectés sur Windows 8

Quand des mouvements standard et interactifs sont activés ensemble, ils peuvent ne pas être détectés par le Gestionnaire de mouvements.

Bouton Fermer visible dans l'application Grille Metropolis UI

Si vous créez une application Grille Metropolis UI et effectuez un mouvement de glissement vers le haut, le bouton Fermer reste visible tant que l'application s'exécute. Ce comportement n'est pas celui attendu.

Styles VCL 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 XE3 ne supporte pas les styles pour les contrôles ruban.

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 un dialogue erreur et conciliation VCL ou un composant TSimpleDataSet est utilisé

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\debug, 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 :

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

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 messages suivants peuvent apparaître :

  • Impossible de charger l'emplacement/fichier WSDL : <URL non valide>. Erreur [Document vide].
  • Impossible de charger l'emplacement/fichier WSDL : <URL non valide>. Erreur [Les espaces ne sont pas autorisés à cet emplacement]

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 l'aide

Emplacement de l'aide installée

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

Microsoft Document Explorer 2008 (DExplore.exe)

DExplore est nécessaire pour visualiser la documentation localement installée de Delphi et C++Builder XE3. 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.
  • Si vous recevez une violation d'accès quand vous appuyez sur F1 dans l'EDI, il est possible qu'une version incompatible de DExplore.exe ait été installée. Pour vérifier la version, exécutez le DExplore.exe autonome, vérifiez la boîte Aide | A propos : Si vous apercevez QFE, c'est qu'un correctif rapide a été installé par Visual Studio 2008 ou Prism. Pour corriger ce problème, allez dans le Panneau de configuration et exécutez une opération Réparer sur le système d'aide Embarcadero Delphi et C++Builder XE3.

Aide MSSDK

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

Documentation IntraWeb

Pour de plus amples informations sur IntraWeb, notamment l'aide des composants VCL pour le Web, voir http://www.atozed.com/IntraWeb/Documentation/Index.EN.aspx. Dans l'aide de RAD Studio, voir Utilisation d'IntraWeb (VCL pour le Web) - Index.

Docwiki contient les informations les plus récentes

Nous générons l'aide de RAD Studio à partir d'un docwiki, situé sur http://docwiki.embarcadero.com. Le docwiki vous fournira toujours les informations d'aide les plus récentes et à jour. Tous les utilisateurs de RAD Studio sont invités à participer au docwiki. Vous pouvez créer votre propre compte utilisateur en cliquant sur Créer un compte ou se connecter depuis n'importe quelle page du docwiki.

Il existe réellement trois wikis distincts :

Peaufiner les fonctions de recherche et d'index dans l'aide

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.


Voir aussi

Versions précédentes
Autres langues