Afficher : Delphi
C++
Préférences d'affichage
Modifications C++Builder pour XE
De RAD Studio XE2
Remonter à Nouveautés de Delphi et C++Builder XE
Remarque : Ce document décrit une version passée.
- ActiveX pour C++ utilise maintenant DAX au lieu de ATL :
- Le framework ActiveX sous-jacent est passé de la bibliothèque ATL (Active Template Library) à la bibliothèque DAX (Delphi ActiveX Library). Voir :
- La syntaxe étendue de
__propertypermet une implémentation plus facile des interfaces dans C++ :- C++Builder a étendu la syntaxe du mot clé __property pour ajouter le nouvel attribut
implements. L'attributimplementsvous permet d'implémenter une interface dans une classe basée sur TObject sans utiliser l'héritage. L'utilisation de__property implementsrend aussi plus facile la transition de ATL à DAX pour les projets C++Builder XE ActiveX, ainsi que l'utilisation des assistances ActiveX fournies par DAX. Voir Support de l'attribut __property implements dans C++Builder XE.
- C++Builder a étendu la syntaxe du mot clé __property pour ajouter le nouvel attribut
- Les applications C++ qui utilisent la VCL définissent à présent l'option Mappage _TCHAR sur
wchar_t:- Les nouvelles applications C++ qui utilisent la VCL (notamment les applications console C++) définissent à présent automatiquement l'option Mappage TCHAR sur
wchar_tau lieu dechar(comme auparavant). - Ces applications doivent aussi contenir un point d'entrée
_tmain(...), qui migre surmain. - Ces applications C++ utilisent automatiquement les fonctions flottantes correctes. Voir Activation des applications C++ pour Unicode.
- La fonction System.UnicodeString.t_str renvoie maintenant const wchar_t* au lieu de const char*. En outre, t_str est devenu obsolète.
- Les nouvelles applications C++ qui utilisent la VCL (notamment les applications console C++) définissent à présent automatiquement l'option Mappage TCHAR sur
- Nouvelles règles des références rvalue :
- Des modifications ont été apportées au compilateur pour supporter les nouvelles règles des références rvalue.
- La spécification C++ (le document de travail) a changé les règles de liaison des références rvalue. En bref, une référence rvalue ne plus être liée à un lvalue nommé (excepté dans la résolution de surcharge, qui n'a pas changé).
- Nouveau fichier d'en-tête stdbool.h :
- Ce fichier d'en-tête C99 fait maintenant partie de la bibliothèque d'exécution C dans C++Builder. stdbool.h définit des valeurs booléennes telles que bool, true, false et __bool_true_false_are_defined.
- Nouvelle définition de l'option -Vbr pour BCC32.EXE :
- L'option
-Vbrdu compilateur C++ est à présent un commutateur général d'ancienne compatibilité pour la liaison de tous les références, pas seulement la liaison non-const. Ainsi la définition de-Vbrest passée de :
-
"Autoriser la liaison de références non-const" - à :
-
"Autoriser les anciennes règles Borland pour la liaison de références" - Voir BCC32, le compilateur C++ en ligne de commande.
- L'option
- Aide rétablie pour les erreurs CodeGuard :
- L'aide est à présent disponible pour les erreurs CodeGuard spécifiques. Voir Erreurs CodeGuard.
- Modifications de dllimport et dllexport :
- __declspec(dllimport) et __declspec(dllexport) sont à présent implémentés pour les classes de template, comme suit :
- Le modificateur dllimport empêche l'instanciation des fonctions de template inline (inline ou out-of-line).
- Le modificateur dllexport provoque l'instanciation et l'exportation de la classe entière, y compris les fonctions inline.
- Nouvelles options du compilateur :
- Support supplémentaire pour les informations RTTI de Delphi dans C++
- L'extension de mot clé __declspec peut être utilisée avec l'attribut
delphirtti. Si une classe est marquée par__declspec(delphirtti), le compilateur génère alors les informations RTTI pour ses méthodes publiques. Voir __declspec(delphirtti).
- L'extension de mot clé __declspec peut être utilisée avec l'attribut