Préparation d'une application Visual Basic 6.0 en vue de sa mise à niveau
Mise à jour : novembre 2007
Bien que le processus de mise à niveau vers Visual Basic 2008 d'une application Visual Basic 6.0 soit en grande partie automatique, un peu de préparation vous permettra de l'optimiser.
Si vous suivez les recommandations de cette rubrique, vous pourrez réduire et, le cas échéant, supprimer les modifications exigées après la mise à niveau d'un projet vers Visual Basic 2008. Dans la plupart des cas, ces recommandations suivent les bonnes pratiques en matière de programmation ; toutefois, certaines identifient également les objets et les méthodes qui n'ont pas d'équivalent et que vous devez utiliser avec parcimonie si vous avez l'intention de mettre votre projet à niveau vers Visual Basic 2008.
Recommandations générales
Cela peut sembler évident, mais si votre projet n'est pas compilé et ne s'exécute pas dans Visual Basic 6.0, il risque de ne pas pouvoir être mis à niveau. Il est donc conseillé d'installer Visual Basic 6.0 sur l'ordinateur que vous souhaitez utiliser pour la mise à niveau. En plus de vous permettre de tester l'application, cela garantira que tous les contrôles, composants et bibliothèques de types nécessaires seront disponibles durant la mise à niveau.
Visual Basic 2008 vous permet de mettre à niveau des projets Visual Basic 6.0 ; si votre projet est écrit dans une version 1 à 5 de Visual Basic, vous devez dans un premier temps le charger dans Visual Basic 6.0 (en sélectionnant la mise à niveau des contrôles Microsoft ActiveX), le compiler et l'enregistrer avant de le mettre à niveau vers Visual Basic 2008.
Considérations relatives aux formulaires et aux contrôles
Visual Basic 2008 dispose d'un nouveau package de formulaires : Windows Forms. Windows Forms est largement compatible avec le package de formulaires de Visual Basic 6.0 ; toutefois, il existe entre ces deux packages certaines différences qui sont énumérées ci-dessous :
Visual Basic 2008 ne prend pas en charge le contrôle conteneur OLE ; évitez donc d'utiliser ce contrôle dans vos applications Visual Basic 6.0.
Il n'existe aucun contrôle de forme dans Visual Basic 2008. Les formes carrées et rectangulaires sont mises à niveau sous la forme d'étiquettes (Label), tandis que les ovales et les cercles ne peuvent pas être mis à niveau. Évitez de les utiliser dans vos applications.
Il n'existe aucun contrôle de ligne dans Visual Basic 2008. Les lignes horizontales et verticales sont mises à niveau sous forme d'étiquettes (Label). Les lignes diagonales ne sont pas mises à niveau et vous devez par conséquent éviter de les utiliser.
Visual Basic 2008 dispose d'un nouveau jeu de commandes graphiques qui remplacent les méthodes FormCircle, CLS, PSet, Line et Point. Étant donné que le nouveau modèle objet est assez différent de celui de Visual Basic 6.0, ces méthodes ne peuvent pas être mises à niveau.
S'agissant du contrôle Timer, le fait d'affecter à la propriété Interval la valeur 0 ne désactive pas la minuterie ; l'intervalle est réinitialisé à 1. Dans vos projets Visual Basic 6.0, vous devez affecter à la propriété Enabled la valeur False plutôt que d'affecter à Interval la valeur 0.
Visual Basic 2008 a deux contrôles de menu, MenuStrip et ContextMenuStrip, alors que Visual Basic 6.0 n'en a qu'un seul contrôle de menu qui peut être ouvert comme contrôle MainMenu ou ContextMenu. Tous les contrôles de menu sont mis à niveau vers un composant MenuStrip unique contenant des MenuItem pour chaque contrôle de menu ; vous devrez recréer vos menus contextuels et supprimer les contrôles MenuStrip en surnombre.
Visual Basic 2008 ne prend pas en charge l'échange dynamique de données (DDE, Dynamic Data Exchange).
Visual Basic 2008 ne prend pas en charge la méthode Form.PrintForm.
Bien que Visual Basic 2008 prenne en charge la fonctionnalité glisser-déplacer, le modèle objet est différent de celui de Visual Basic 6.0. Les propriétés et méthodes de glisser-déplacer de Visual Basic 6.0 ne peuvent donc pas être mises à niveau.
Visual Basic 2008 dispose d'un objet Clipboard amélioré (My.Computer.Clipboard) qui offre plus de fonctionnalités et prend en charge plus de formats de presse-papiers que l'objet Clipboard de Visual Basic 6.0. Toutefois, du fait des différences existant entre les modèles objet, les instructions de Presse-papiers ne peuvent pas être mises à niveau automatiquement.
Visual Basic 2008 ne prend pas en charge la propriété Name pour les formulaires et les contrôles au moment de l'exécution ; par conséquent, vous ne devez pas écrire du code qui itère la collection Controls recherchant un contrôle spécifique. (Ces fonctionnalités sont maintenant disponibles à l'aide des classes .NET FrameworkSystem.Reflection.)
Recommandations relatives aux données
Visual Basic 2008 contient une version améliorée des objets de données actifs (ADO, Active Data Objects) appelée ADO.NET, qui est optimisée pour fonctionner avec des données en applications distribuées et offre des performances supérieures à ADO dans ce contexte.
RDO et ADO peuvent encore être utilisés dans le code de Visual Basic 2008, avec quelques modifications simples. Toutefois, Visual Basic 2008 ne prend pas en charge la liaison de données DAO et RDO aux contrôles ou contrôles de données ni la connexion utilisateur RDO. Si vos applications contiennent des liaisons de données DAO ou RDO, nous vous conseillons de les laisser en Visual Basic 6.0 ou de mettre à niveau la liaison de données DAO ou RDO vers ADO avant de mettre à niveau votre projet vers Visual Basic 2008, car la liaison de données ADO est prise en charge dans les Windows Forms. Pour plus d'informations sur la mise à niveau de DAO ou RDO vers ADO dans Visual Basic 6.0, consultez l'aide de Visual Basic 6.0.
Recommandations relatives à l'architecture Web
Visual Basic 2008 introduit ASP.NET, une version améliorée d'ASP, et enrichit l'architecture existante de Web Forms qui permettent de créer des pages Web à l'aide d'un modèle d'événements de type Visual Basic. L'architecture est une architecture serveur.
Les applications Web qui répondent aux critères suivants seront les plus faciles à mettre à niveau :
Suivez les indications de Microsoft relatives à l'architecture multicouche.
Utilisez des pages Active Server Pages.
Utilisez des objets Visual Basic 6.0 ou Visual C++ 6.0 COM pour la logique métier.
Les pages ASP sont totalement prises en charge dans Visual Basic 2008 et vous pouvez continuer à développer votre application en vous servant des pages ASP, des pages ASP.NET et des Web Forms. Les objets métier Visual Basic 6.0 et Visual C++ 6.0 peuvent être utilisés sans modification ou mis à niveau vers Visual Basic 2008.
Les classes Web n'existent plus dans Visual Basic 2008. Les applications Webclass existantes peuvent interagir avec les Web Forms de Visual Basic 2008 et les applications ASP ; elles peuvent également être mises à niveau vers des applications Web Forms.
Voir aussi
Concepts
Points à considérer avant d'effectuer la mise à niveau
Autres ressources
Mise à niveau d'applications créées dans des versions précédentes de Visual Basic