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

Notes de release pour C++Builder Windows 64 bits

De RAD Studio XE3

Remonter à Nouveautés de C++Builder Windows 64 bits


La release de C++Builder Windows 64 bits comporte également la Mise à jour 1 de l'aide de RAD Studio XE3, et la Mise à jour 1 XE3 inclut les personnalités Delphi et C++. Ces notes de release contiennent des informations complémentaires importantes concernant tout particulièrement la release C++Builder Windows 64 bits. Nous vous recommandons de lire cette page en entier. Pour obtenir la version la plus récente de ces notes de release, voir http://docwiki.embarcadero.com/RADStudio/XE3/fr/Notes_de_release_pour_C%2B%2BBuilder_Windows_64_bits.

  • Pour chaque rubrique d'aide, la version la plus récente se trouve toujours sur le docwiki de Rad Studio.
    • Les pages figurant sur docwiki sont mises à jour après la sortie du produit et tout au long du cycle de mise à jour.
    • Des mises à jour de l'aide sont effectuées à des intervalles réguliers, mais sachez que docwiki contient toujours la version la plus récente de l'aide.

Sommaire

Notes générales

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.

FastReport pour Windows 64 bits prochainement disponible

FastReport Embarcadero Edition est actuellement disponible pour :

  • Delphi (Windows 32 bits et Windows 64 bits)
  • C++ Builder (Windows 32 bits)

La version de FastReport utilisable avec C++Builder Windows 64 bits sera prochainement disponible et sera téléchargeable gratuitement pour les utilisateurs enregistrés de C++Builder XE3 et RAD Studio XE3 à l'adresse http://cc.embarcadero.com/reg/rad_studio.

Notes C++Builder

Spécifier le chemin de débogage pour les packages Delphi

Si vous souhaitez déboguer les packages Delphi qui sont utilisés dans une application C++ Windows 64 bits, vous devez d'abord suivre les étapes de configuration ci-après :

  1. Sélectionnez Outils > Options > Options du débogueur > Débogueurs Embarcadero.
  2. Dans le champ Chemin de recherche des symboles de débogage, ajoutez un chemin complet ayant ce format :
    C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\lib\win64\debug
  3. Cliquez sur OK.

Ajout du répertoire projet au chemin d'inclusion

Actuellement, l'EDI inclut automatiquement le répertoire du projet dans le chemin #include, même si la valeur par défaut de Ajouter le répertoire projet au chemin d'inclusion vaut False (dans la page Répertoires et Conditions du compilateur C++). Ce comportement devrait être ultérieurement modifié. Dans ce cas, vous devrez définir cette option à True si vous voulez que le répertoire projet soit ajouté automatiquement au chemin #include.

Pour de plus amples informations, voir #include.

Ajout d'une valeur de priorité pour #pragma exit

BCC32 et BCC64 diffèrent en ce qui concerne la priorité par défaut qu'ils assignent à #pragma exit (assignée si la spécification de priorité facultative est omise).

En raison d'un bug dans BCC32, la priorité 30 est affectée aux routines #pragma exit n'ayant pas de priorité spécifique. Vous devez donc définir explicitement une routine de sortie à la priorité 30 dans BCC64 afin d'être conforme au comportement de BCC32 pour les routines de sortie sans priorité. Par exemple, si vous avez une routine de sortie qui doit être appelée après l'exécution de __ExitVCL, sa priorité doit être définie à 30 sous BCC64. (Remarque : __ExitVCL s'exécute à la priorité 31.)

Pour de plus amples informations, voir #pragma exit et #pragma startup.


Nécessité d'ajouter WebInit.cpp aux applications WebSnap

Si vous créez une application WebSnap C++ avec une plate-forme cible Windows 64 bits, vous pouvez obtenir des erreurs du lieur telles que :

[ilink64 Error] Error: Unresolved external '__dso_handle' referenced from E:\EMBARCADERO\RAD STUDIO\10.0\LIB\WIN64\RELEASE\WEBINIT.O
[ilink64 Error] Error: Unresolved external '__cxa_atexit' referenced from E:\EMBARCADERO\RAD STUDIO\10.0\LIB\WIN64\RELEASE\WEBINIT.O

La solution consiste à ajouter le fichier WebInit.cpp à votre projet en utilisant le Gestionnaire de projets. WebInit.cpp est installé dans le répertoire $(BDS)\source\internet.

Actualiser le concepteur si TBindSourceDB n'est pas rempli après le chargement d'un ensemble de données

Dans les applications VCL ou FireMonkey contenant plusieurs fiches et/ou modules de données, un ensemble de données incorporé dans un TBindSourceDB peut contenir des sous-membres obsolètes dans le Concepteur LiveBindings si l'ensemble de données est externe à la fiche actuellement visualisée dans le Concepteur. Les membres obsolètes peuvent aussi être dus à des modifications de l'ensemble de données. La commande de menu contextuel Actualiser le concepteur vous permet de résoudre ce problème de mise à jour.

La réinitialisation d'un programme peut provoquer le blocage du débogueur

Le débogueur C++Builder Windows 64 bits peut se bloquer si vous effectuez une réinitialisation du programme (Ctrl+F2) lorsque le débogueur est arrêté sur un point d'arrêt donnée.

Support SOAP

Un client SOAP développé dans C++Builder Windows 64 bits peut invoquer un serveur qui transmet des entiers, des chaînes et des structures contenant des entiers et des chaînes. Les tableaux dynamiques de chaînes ne sont pas encore supportés.

Erreurs Indy relatives à l'UDP

Les projets Indy C++ qui utilisent l'UDP (User Datagram Protocol) peuvent provoquer des erreurs de compilation telles que :

Exceptions de virgule flottante pour le code externe tel que OpenGL

Les exceptions de virgule flottante peuvent se produire lorsque le code C++ Windows 64 bits interagit avec du code externe, tel que OpenGL, OLEDB, TWebBrowser, un assemblage .NET ou des contrôles ActiveX. Sur la plate-forme Windows 32 bits, vous pouvez contourner ces exceptions par des appels à _control87. Toutefois, il faut savoir que _control87 définit le registre en virgule flottante dans Windows 32 bits (c'est-à-dire le registre FPU), alors que SSE est le registre en virgule flottante dans Windows 64 bits.

Pour tout code déclenchant les exceptions de virgule flottante, il est conseillé d'utiliser plutôt System::Math::SetExceptionMask(..). Ceci a pour effet d'invoquer SetFPUExceptionMask (pour Windows 32 bits) ou SetSSEExceptionMask (pour Windows 64 bits). Vous devez en principe masquer les exceptions de virgule flottante lors des interactions avec du code externe. Les exceptions doivent être masquées et "démasquées" au fur et à mesure que vous traversez les frontières.

Notes relatives au débogueur

  • Le débogage de deux fichiers de même nom n'est pas supporté.
  • Le support est incomplet pour le débogage du code qui déclenche des exceptions.
    Par exemple, les exceptions ne sont pas supportées dans l'évaluation des appels de fonction.
  • L'évaluation des variables statiques locales et statiques de fichier fonctionne uniquement dans la portée en cours.
  • L'évaluation de certains appels de fonction peut ne pas fonctionner, en particulier avec les types Delphi hérités tels que les membres VCL et RTL.

Pour de plus amples informations, voir Débogage des applications C++ Builder Windows 64 bits.

Voir aussi

Versions précédentes
Autres langues