Points à considérer avant d'effectuer la mise à niveau
Mise à jour : novembre 2007
Visual Basic 2008 introduit un décalage d'ordre majeur avec les versions antérieures de Visual Basic. Parce qu'il a été conçu dès le départ pour tirer parti de toutes les possibilités offertes par le .NET Framework, il existe de nombreux points sur lesquels il n'y a pas de compatibilité avec les versions précédentes.
Remarque : |
---|
Visual Basic 2008 et Visual Basic 6.0 peuvent être installés sur le même ordinateur et s'exécuter simultanément. Les applications écrites en Visual Basic 2008 et en Visual Basic 6.0 peuvent être installées et exécutées sur le même ordinateur. Les composants développés en Visual Basic 2008 peuvent interagir avec des composants COM développés dans des versions antérieures de Visual Basic et d'autres langages. |
- Dans la plupart des cas, la mise à niveau des applications Visual Basic 6.0 vers Visual Basic 2008 est effectuée dans le but de continuer leur développement en bénéficiant du .NET Framework. Toutefois, dans certains cas, vous voudrez aussi continuer le développement avec Visual Basic 6.0 sans effectuer de mise à niveau. Les fonctionnalités non prises en charge par Visual Basic 2008 et la somme de travail qu'impliquent les problèmes d'incompatibilité et d'architecture font partie des critères de décision en faveur de la mise à niveau ou non d'une application.
Fonctionnalités non prises en charge
Les fonctionnalités suivantes de Visual Basic 6.0 ne sont plus prises en charge dans Visual Basic 2008. Pour plus d'informations, consultez Préparation d'une application Visual Basic 6.0 en vue de sa mise à niveau.
Contrôle conteneur OLE Il n'y a aucun équivalent dans Visual Basic 2008. Les applications dépendant de ce contrôle doivent être laissées en Visual Basic 6.0.
Échange dynamique de données (DDE, Dynamic Data Exchange) Les méthodes DDE ne sont plus prises en charge. Les applications qui dépendent de DDE doivent soit être modifiées afin d'utiliser une autre méthode de communication interapplication, soit être laissées en Visual Basic 6.0.
Liaison de données DAO ou RDO La liaison avec une source de données DAO ou RDO n'est pas prise en charge dans Visual Basic 2008 ; les contrôles Data et RemoteData n'y ont pas d'équivalent. Il n'est possible d'accéder aux sources de données DAO et RDO que par le code. Les applications qui utilisent la liaison de données DAO ou RDO doivent soit être mises à jour soit être laissées en Visual Basic 6.0.
Contrôles Visual Basic 5.0 Visual Basic 6.0 incluait les versions Visual Basic 5.0 des contrôles communs Windows ainsi que le contrôle de grille liée aux données. Ces contrôles sont incompatibles avec Visual Basic 2008. Les applications qui utilisent ces contrôles doivent soit être mises à jour, soit être laissées en Visual Basic 6.0.
Applications DHTML Il n'y a aucun équivalent dans Visual Basic 2008. Toutefois, les applications DHTML peuvent interagir avec les technologies Visual Basic 2008.
Documents ActiveX Il n'y a aucun équivalent dans Visual Basic 2008. Toutefois, les applications DHTML peuvent interagir avec les technologies Visual Basic 2008. Les documents ActiveX doivent soit être réécrits sous forme de contrôles utilisateur, soit être laissés en Visual Basic 6.0.
Pages de propriétés Il n'y a pas d'équivalent dans Visual Basic 2008. Si votre application dépend fortement de ces pages de propriétés, laissez-la en Visual Basic 6.0.
Évaluation des modifications requises
En raison des nombreuses différences qui existent entre Visual Basic 6.0 et Visual Basic 2008, il sera le plus souvent nécessaire de modifier les applications, notamment les éléments incompatibles ou ne pouvant pas être mappés directement. L'importance de ces modifications dépend de plusieurs facteurs tels que le type de l'application ou les fonctionnalités et constructions de langage qu'elle utilise.
La façon la plus simple d'évaluer l'importance des modifications requises est d'exécuter l'Assistant Mise à niveau et de consulter la liste des problèmes répertoriés dans le rapport de mise à niveau. Le processus de mise à niveau crée une copie de l'application en laissant intact l'application d'origine. Si, après avoir consulté le rapport, vous renoncez à la mise à niveau, il vous suffit de supprimer le nouveau projet et de continuer le développement avec Visual Basic 6.0.
Nous avons répertorié ci-après d'autres facteurs qui peuvent peser dans votre décision de mettre ou non à niveau une application.
Applications de base de données monocouche La liaison avec les sources de données DAO n'étant pas prise en charge, la mise à niveau d'applications simples utilisant des contrôles directement liés à une base de données locale (créée, par exemple, dans Microsoft Access) peut impliquer des modifications importantes.
Compléments Visual Basic Étant donné que Visual Basic 2008 utilise l'environnement de développement intégré Visual Studio, son modèle objet d'extensibilité est sensiblement différent de celui de Visual Basic 6.0. Les compléments (appelés aussi Add-In en anglais) nécessiteront par conséquent de très nombreuses modifications.
Jeux Les applications telles que les jeux d'arcade exploitant les performances spécifiques de Visual Basic 6.0 nécessiteront des modifications ; en effet, Visual Basic 2008 n'offre pas les mêmes performances.
Graphismes Ni les méthodes graphiques des formulaires ni les contrôles de ligne et de forme ne sont pris en charge. Les applications faisant une large utilisation de ces fonctionnalités pour créer des dessins dans les formulaires nécessiteront de très nombreuses modifications.
Fonctionnalité de glisser-déplacer Les modèles de la fonctionnalité de glisser-déplacer sont très différents ; tout code effectuant des opérations de glisser-déplacer devra être réécrit.
Variants Lorsqu'une application est mise à niveau, le type de données Variant est converti en Object. Si une application dépend fortement de ces données Variant, sa conversion peut introduire de subtiles différences dans son comportement. Par exemple, dans Visual Basic 6.0, l'expression IsObject(Variant) a la valeur false ; dans Visual Basic 2008, l'expression devient IsObject(Object) et a la valeur true.
API Windows En raison des changements liés au langage, un grand nombre d'appels aux API Windows devront être révisés ou remplacés par des fonctions du .NET Framework.
Voir aussi
Concepts
Préparation d'une application Visual Basic 6.0 en vue de sa mise à niveau
Autres ressources
Mise à niveau d'applications créées dans des versions précédentes de Visual Basic