Share via


References.AddActiveX, méthode

Ajoute une référence à une bibliothèque de types ActiveX.

Espace de noms: VSLangProj
Assembly : VSLangProj (dans vslangproj.dll)

Syntaxe

'Déclaration
'Utilisation

Paramètres

  • bstrTypeLibGuid
    Obligatoire. GUID (Identificateur global unique) de la bibliothèque de types présenté sous la forme d'une chaîne.
  • lMajorVer
    Facultatif. Numéro de version principale. Si cette valeur est omise, 0 est utilisé.
  • lMinorVer
    Facultatif. Numéro de version secondaire. Si cette valeur est omise, 0 est utilisé.
  • lLocaleId
    ID de paramètres régionaux facultatifs. Pour plus d'informations, consultez LocaleID.
  • bstrWrapperTool
    Outil wrapper à utiliser lors de la génération d'un assembly de wrappers pour la bibliothèque de types. Les valeurs prises en charge sont décrites dans le tableau suivant.

    Valeur

    Résultat

    "tlbimp"

    Le système de projet génère un wrapper générique permettant l'accès aux méthodes et propriétés des objets COM.

    "aximp"

    Le système de projet génère un wrapper que Windows Forms utilise pour l'hébergement ActiveX.

    "" (chaîne vide)

    Le système de projet vérifie s'il existe un assembly PIA (Primary Interoperability Assembly) pour la bibliothèque de types spécifiée. S'il existe, cet assembly est utilisé en tant que wrapper pour les méthodes et propriétés des objets COM. Sinon, le comportement est le même qu'avec la valeur "tlbimp" .

Valeur de retour

Retourne un objet Reference pour l'objet bibliothèque ActiveX demandé.

Notes

La méthode AddActiveX ajoute des références à un projet pour l'objet spécifié ainsi que les éventuelles dépendances répertoriées par l'objet. Un appel à cette méthode peut donc avoir pour résultat l'ajout de plusieurs références à la collection References.

Le format valide d'un GUID est "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}", où X est un chiffre hexadécimal (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F). Pour déterminer le GUID d'un objet ActiveX, une méthode consiste à afficher le fichier .ocx ou .tlb utilisant l'outil Oleview.exe distribué avec Visual Studio.

Une erreur se produit si une référence portant la même identité figure déjà dans la collection.

Si vous recevez une erreur "Bibliothèque non enregistrée" lorsque vous référencez un objet COM valide, il est possible que ce soit parce que vous ne passez pas de valeur de paramètre lMajorVer valide à la méthode AddActiveX. Par défaut, AddActiveX utilise une valeur de 0 pour tout sauf le GUID. Si la version de l'objet COM est, par exemple, 1, l'appel échouera parce qu'aucune version 0 de la typelib n'est enregistrée. Par exemple, lors de l'appel de la version 1.0 du lecteur Windows Media

ref = refColl.AddActiveX("{22D6F304-B0F6-11D0-94AB-0080C74C7E95}")

produit l'erreur susmentionnée, mais

ref = refColl.AddActiveX("{22D6F304-B0F6-11D0-94AB-0080C74C7E95}", 1)

fonctionne correctement.

Cette méthode n'ajoute qu'une bibliothèque de types inscrite. Un appel à QueryPathOfRegTypeLib, une fonction Automation API (anciennement OLE Automation), est effectué et les informations fournies passées à la méthode AddActiveX.

Si le nom de fichier de l'objet ActiveX est connu, l'objet peut être ajouté par le biais de Add. La méthode Add ne requiert pas de GUID, de version ni d'ID de paramètres régionaux.

Pour supprimer une référence, utilisez le Remove.

Pour plus d'informations sur les wrappers d'objet COM, l'hébergement ActiveX et les assemblys PIA, consultez Type Library Importer (Tlbimp.exe) et ActiveX Control Importer pour Windows Forms (Aximp.exe).

Exemple

' Macro Editor
' Add a reference to the ActiveX Data Objects Library, Version 2.5
Imports VSLangProj
Public Sub AddARef()
   Try
      Dim proj As VSLangProj.VSProject = _
         CType(DTE.Solution.Projects.Item(1).Object, _
         VSLangProj.VSProject)
      ' GUID for ActiveX Data Objects, version 2.5
      proj.References.AddActiveX( _
      "{00000205-0000-0010-8000-00AA006D2EA4}", 2, 5)
   Catch ex As System.Exception
      MsgBox("Cannot add that reference.")
   End Try
End Sub

Voir aussi

Référence

References, interface
Membres References
VSLangProj, espace de noms