Nouveautés Delphi 2009 - partie 1

Nouveautés Delphi 2009 - partie 1

 

Cette release contient de nombreuses fonctionnalités nouvelles et importantes pour le développement d'applications utilisant à la fois Delphi et C++Builder.
Notez que cette release est une modification importante de Delphi et C++Builder. La fonctionnalité principale de cette release est le changement de l'utilisation des chaînes ANSI en utilisation d'un type de chaîne basé sur Unicode, nommé de façon appropriée UnicodeString. Afin que Delphi ou C++Builder 2009 fonctionne sur les applications pré-existantes, vous devrez effectuer quelques modifications dans votre code, principalement associées à la gestion des chaînes, et vous devrez recompiler avec succès votre code.

 
A propos d'Unicode : Le standard Unicode a été adopté par de nombreux leaders de l'industrie informatique, incluant maintenant CodeGear. Unicode fournit un nombre unique pour chaque caractère, quel que soit la plate-forme, le programme ou le langage utilisé. Selon le consortium Unicode (http://www.unicode.org), Unicode est requis par les standards modernes comme XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML, et ainsi de suite, et représente le chemin officiel pour implémenter ISO/IEC 10646. Unicode est pris en charge dans de nombreux systèmes d'exploitation, dans tous les navigateurs modernes et dans beaucoup d'autres produits. La naissance du standard Unicode et la disponibilité des outils le supportant, sont parmi les récentes tendances technologiques logicielles globales les plus significatives.
L'incorporation d'Unicode dans les applications client-serveur ou multiniveau et les sites web offre des gains de coût significatifs par rapport aux anciens jeux de caractères. Unicode permet à un produit logiciel ou à un site web d'être ciblé à travers plusieurs plate-formes, langages et pays sans re-ingénierie. Il permet le transport des données à travers différents systèmes sans corruption.


Unicode partout dans le produit


L'EDI est entièrement compatible Unicode, de haut en bas, de gauche à droite et d'avant en arrière. L'EDI entier est lui-même à présent une application Unicode, nécessitant que tous les composants et le code de conception soit basé sur le type UnicodeString. Les caractères Unicode sont entièrement supportés dans les identificateurs et les chaînes. Pour plus de détails, voir Unicode dans l'EDI.
La modification du type de chaîne par défaut affecte d'autres types de données ainsi que de nombreuses fonctions. Par exemple, SizeOf(Char) est maintenant de 2 octets, pas 1 octet. Les appels à Length(MyString) renvoient le nombre de caractères, pas le nombre d'octets de la chaîne.

Conversion de vos projets


D'abord et c'est le plus important, afin d'utiliser Delphi ou C++Builder 2009, vous devez effectuer quelques modifications dans votre code existant puis recompiler votre application afin de gérer Unicode, comme décrit dans la rubrique d'aide Activation des applications pour Unicode.  
Sauvegarde de vos projets : Vous ne pouvez pas migrer un projet de la version 2009 vers une version antérieure. Avant d'ouvrir vos projets existants dans Delphi ou C++Builder 2009, effectuez une copie de sauvegarde du projet afin de restaurer le projet en entier en cas de problèmes inattendus.  
Le format du fichier projet a changé : Pour Delphi et C++Builder, le format du fichier projet a changé afin de s'adapter aux nouvelles fonctionalités de cette release. Les fichiers projet ont l'extension .dproj, .cbproj ou .bdsproj. Quand vous ouvrez un projet Delphi ou C++ préalablement existant, le compilateur enregistre d'abord une copie de sauvegarde de votre fichier projet avec l'extension .2007.  
Le message suivant est affiché pour un projet Delphi (un message similaire apparaît pour un projet C++) : Mise à niveau du projet. Sauvegarde .dproj.2007 créée. 

Le fichier projet est ouvert et enregistré au format MSBuild, puis réouvert dans l'EDI. Les compilateurs de Delphi et C++Builder 2009 ont la version 12.

Utilisation d'Unicode dans la console Commande


Vous pouvez activer l'affichage des caractères Unicode dans la fenêtre console. Cela est important si le nom des fichiers ou de votre répertoire contient des caractères Unicode. Vous devez sélectionner une fonte pouvant afficher les caractères Unicode, comme Lucida Console, et définir la page de code sur 65001, comme suit :
  1. Cliquez sur Démarrer | Tous les programmes | CodeGear RAD Studio | Invite de commande RAD Studio. Vous pouvez également cliquer sur Démarrer, sélectionner Exécuter, puis entrer cmd dans le champ OuvrirExécuter. de la boîte de dialogue
  2. Cliquez avec le bouton droit sur le cadre de la fenêtre console et sélectionnez Propriétés.
  3. Sur la fenêtre Propriétés, cliquez sur l'onglet Police puis sur Lucida Console.
  4. Dans la fenêtre console, définissez la page de code sur 65001, comme suit : C:\chcp 65001
 

Modifications du compilateur Delphi


Les modifications suivantes ont été apportées au compilateur Delphi :
  • Nouveau type UnicodeString. Ce nouveau type de chaîne UnicodeString System. est défini dans l'espace de nommage
  • Génériques. Delphi 2009 ajoute le support des génériques par le compilateur Delphi Win32 natif. Auparavant, les génériques étaient seulement supportés par le compilateur Delphi pour .NET 2007. Certaines différences existent dans les fonctionnalités qui sont supportées sur ces deux plates-formes. Pour plus de détails sur l'implémentation antérieure des génériques, voir Présentation des génériques. Pour obtenir des informations sur les changements, voir Génériques pour Delphi Win32.
  • Méthodes anonymes. Une méthode anonyme est une procédure ou une fonction n'ayant pas de nom associé. En outre, une méthode anonyme peut faire référence aux variables et lier des valeurs aux variables dans le contexte dans lequel la méthode a été définie. Elles peuvent être définies et utilisées avec une syntaxe simple. Les méthodes anonymes sont similaires à la construction de closures définis dans d'autres langages.
  • Nouvelle directive du compilateur : $POINTERMATH [ON|OFF]. Cette directive permet les opérations mathématiques sur les pointeurs.
  • Quatre nouveaux avertissements du compilateur Delphi. Les deux avertissements de transtypage implicites sont particulièrement utiles pour rechercher les zones de problème lors de la conversion de votre code afin d'utiliser UnicodeString.
  • La routine Exit peut prendre un paramètre spécifiant un résultat. Le paramètre doit être de même type que le résultat de la fonction.
 

Modifications de l'EDI


Les modifications suivantes ont été apportées à l'environnement de développement intégré :
  • Nombreuses améliorations de la boîte de dialogue Projet > Options.Options de projet relatives au compilateur ont été reconçues afin de placer toutes les options dans une colonne, avec leurs valeurs associées dans une seconde colonne. Cette réorganisation permet d'analyser plus facilement le contenu d'une page et de rechercher plus facilement des options spécifiques. Certains champs de valeurs ont un bouton déroulant invoquant un dialogue secondaire, comme le dialogue liste ordonnée générique ou un dialogue standard de recherche d'un dossier.
  • Les configurations de construction et les jeux d'options fonctionnent à présent de façon similaire pour Delphi et C++Builder. Les configurations de construction peuvent maintenant hériter de la configuration Base à la fois pour Delphi et C++. Delphi et C++Builder supportent maintenant les jeux d'options nommés (supportés antérieurement uniquement par C++Builder 2007). Vous pouvez attacher les jeux d'options aux configurations de construction par référence (antérieurement supporté seulement par valeur). Par exemple, il existe des options de base distinctes pour les chemins de recherche, les avertissements du compilateur et les optimisations. Pour contrôler l'ordre dans lequel ces options distinctes sont appliquées, utilisez la boîte de dialogue Appliquer le jeu d'options.
  • Modifications de la vue Gestionnaire de projets. Utilisez le menu déroulant situé dans la partie supérieure du Gestionnaire de projets pour sélectionner une des trois vues de fichiers :

    • Répertoire (imbriqué). C'est la méthode en cours, où chaque répertoire est un noeud développable distinct.
    • Répertoire (plat). Les fichiers résident directement sous un noeud de répertoire contenant le chemin entier où ils résident.
    • Liste. Aucun noeud de répertoire n'est visible.


  • Reconception des experts Importer un composant et Nouveau composant VCL. Les experts Importer un composant et Nouveau composant VCL ont été étendus et reconçus afin d'inclure les bibliothèques de types, les contrôles ActiveX et les assemblages. Les deux experts ont les nouvelles options : Installer dans un package existant et Installer dans un nouveau package.
  • Modifications de l'éditeur de code. Les fonctionnalités Audit de code ont été mises à jour pour reconnaître et supporter les nouvelles fonctionnalités de langage de C++ et Delphi. La mise en évidence de la syntaxe, l'achèvement de code, l'audit d'aide (Delphi) et l'audit d'erreur (Delphi) devraient fonctionner correctement avec les méthodes anonymes et les génériques de Delphi, ainsi que les nouvelles fonctionnalités de langage C++0x.
  • Le nouvel Editeur de ressources est un dialogue qui vous permet d'ajouter des fichiers ressource (divers types de graphiques comme les bitmaps, les icônes et les fontes) à votre projet. Vous pouvez revoir tous les fichiers ressource de votre projet dans l'éditeur de ressources.
  • Le nouvel explorateur de classes de Delphi vous permet de visualiser la hiérarchie d'héritage des classes et interfaces de votre projet. La vue Classes et la liste des membres sont les volets principaux de l'explorateur de classes. Les commandes Aller à vous permettent de localiser la déclaration d'une classe, d'une méthode, d'une propriété ou d'un champ sélectionné, de localiser la définition d'une méthode sélectionnée, et de localiser la définition getter ou setter d'une méthode. Vous pouvez ajouter des champs, des propriétés et des méthodes à une classe. Pour plus d'informations, voir Explorateur de classes et Procédures de l'explorateur de classes.

Aucun commentaire: