Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Lors de la création d’applications ou de composants, il est préférable de créer des assemblys .NET Framework. Toutefois, Visual Basic facilite également l’exposition d’un composant .NET Framework à COM. Cela vous permet de fournir de nouveaux composants pour les suites d’applications antérieures qui nécessitent des composants COM. Cette procédure pas à pas montre comment utiliser Visual Basic pour exposer des objets .NET Framework en tant qu’objets COM, avec et sans le modèle de classe COM.
Le moyen le plus simple d’exposer des objets COM consiste à utiliser le modèle de classe COM. Ce modèle crée une classe, puis configure votre projet pour générer la classe avec une couche d’interopérabilité en tant qu’objet COM et l’inscrire auprès du système d’exploitation.
Remarque
Bien que vous puissiez également exposer une classe créée en Visual Basic en tant qu’objet COM pour le code non managé à utiliser, il n’est pas un vrai objet COM et ne peut pas être utilisé par Visual Basic. Pour plus d’informations, consultez l’interopérabilité COM dans les applications .NET Framework.
Remarque
Votre ordinateur peut afficher différents noms ou emplacements pour certains des éléments de l’interface utilisateur Visual Studio dans les instructions suivantes. L’édition Visual Studio que vous avez et les paramètres que vous utilisez déterminent ces éléments. Pour plus d’informations, consultez Personnaliser l’IDE.
Pour créer un objet COM à l’aide du modèle de classe COM
Ouvrez un nouveau projet d’application Windows dans le menu Fichier en cliquant sur Nouveau projet.
Dans la boîte de dialogue Nouveau projet , sous le champ Types de projets , vérifiez que Windows est sélectionné. Sélectionnez Bibliothèque de classes dans la liste Modèles , puis cliquez sur OK. Le nouveau projet s’affiche.
Sélectionnez Ajouter un nouvel élément dans le menu Projet . La boîte de dialogue Ajouter un nouvel élément s’affiche.
Sélectionnez Classe COM dans la liste Modèles , puis cliquez sur Ajouter. Visual Basic ajoute une nouvelle classe et configure le nouveau projet pour l’interopérabilité COM.
Ajoutez du code tel que des propriétés, des méthodes et des événements à la classe COM.
Sélectionnez Build ClassLibrary1 dans le menu Générer . Visual Basic génère l’assembly et inscrit l’objet COM auprès du système d’exploitation.
Création d’objets COM sans modèle de classe COM
Vous pouvez également créer une classe COM manuellement au lieu d’utiliser le modèle de classe COM. Cette procédure est utile lorsque vous travaillez à partir de la ligne de commande ou lorsque vous souhaitez plus de contrôle sur la façon dont les objets COM sont définis.
Pour configurer votre projet pour générer un objet COM
Ouvrez un nouveau projet d’application Windows dans le menu Fichier en cliquant sur NewProject.
Dans la boîte de dialogue Nouveau projet , sous le champ Types de projets , vérifiez que Windows est sélectionné. Sélectionnez Bibliothèque de classes dans la liste Modèles , puis cliquez sur OK. Le nouveau projet s’affiche.
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur votre projet, puis cliquez sur Propriétés. Le Concepteur de projets s’affiche.
Cliquez sur l’onglet Compiler.
Cochez la case S’inscrire à COM Interop .
Pour configurer le code dans votre classe pour créer un objet COM
Dans l’Explorateur de solutions, double-cliquez sur Class1.vb pour afficher son code.
Renommez la classe en
ComClass1
.Ajoutez les constantes suivantes à
ComClass1
. Ils stockent les constantes GUID (Global Unique Identifier) que les objets COM doivent avoir.Public Const ClassId As String = "" Public Const InterfaceId As String = "" Public Const EventsId As String = ""
Dans le menu Outils , cliquez sur Créer un GUID. Dans la boîte de dialogue Créer un GUID , cliquez sur Format du Registre , puis sur Copier. Cliquez sur Quitter.
Remplacez la chaîne vide pour
ClassId
par le GUID, en supprimant les accolades de début et de fin. Par exemple, si le GUID fourni par Guidgen est"{2C8B0AEE-02C9-486e-B809-C780A11530FE}"
votre code doit apparaître comme suit.Public Const ClassId As String = "2C8B0AEE-02C9-486e-B809-C780A11530FE"
Répétez les étapes précédentes pour les constantes
InterfaceId
etEventsId
, comme dans l’exemple suivant.Public Const InterfaceId As String = "3D8B5BA4-FB8C-5ff8-8468-11BF6BD5CF91" Public Const EventsId As String = "2B691787-6ED7-401e-90A4-B3B9C0360E31"
Remarque
Assurez-vous que les GUID sont nouveaux et uniques ; sinon, votre composant COM peut entrer en conflit avec d’autres composants COM.
Ajoutez l’attribut
ComClass
àComClass1
, en spécifiant les GUID pour l’ID de classe, l’ID d’interface et l’ID d’événements comme dans l’exemple suivant :<ComClass(ComClass1.ClassId, ComClass1.InterfaceId, ComClass1.EventsId)> Public Class ComClass1
Les classes COM doivent avoir un constructeur sans
Public Sub New()
paramètre, ou la classe ne s’inscrit pas correctement. Ajoutez un constructeur sans paramètre à la classe :Public Sub New() MyBase.New() End Sub
Ajoutez des propriétés, des méthodes et des événements à la classe, en la terminant par une
End Class
instruction. Sélectionnez Générer la solution dans le menu Générer . Visual Basic génère l’assembly et inscrit l’objet COM auprès du système d’exploitation.Remarque
Les objets COM que vous générez avec Visual Basic ne peuvent pas être utilisés par d’autres applications Visual Basic, car ils ne sont pas des objets COM vrais. Les tentatives d’ajout de références à ces objets COM déclenchent une erreur. Pour plus d’informations, consultez l’interopérabilité COM dans les applications .NET Framework.