References.AddActiveX (Método)

Agrega una referencia a una biblioteca de tipos de ActiveX.

Espacio de nombres: VSLangProj
Ensamblado: VSLangProj (en vslangproj.dll)

Sintaxis

'Declaración
'Uso

Parámetros

  • bstrTypeLibGuid
    Necesario. Identificador único global (GUID) de la biblioteca de tipos, expresado como una cadena.
  • lMajorVer
    Opcional. Número de la versión principal. Si se omite, se utiliza 0.
  • lMinorVer
    Opcional. Número de la versión secundaria. Si se omite, se utiliza 0.
  • lLocaleId
    Identificador de la configuración regional opcional. Para obtener más información, vea LocaleID.
  • bstrWrapperTool
    Herramienta que se utilizará al generar un contenedor de ensamblado para la biblioteca de tipos. En la tabla siguiente se describen los valores que se admiten.

    Valor

    Resultado

    "tlbimp"

    El sistema del proyecto genera un contenedor genérico apropiado para el acceso a los métodos y propiedades del objeto COM.

    "aximp"

    El sistema del proyecto genera un contenedor que los formularios Windows Forms utilizan para el alojamiento de ActiveX.

    "" (cadena vacía)

    El sistema de proyecto comprueba si existe un ensamblado de interoperabilidad primario para la biblioteca de tipos especificada. Si se encuentra, el ensamblado se utiliza como contenedor para los métodos y propiedades del objeto COM. Si no se encuentra, el comportamiento es el mismo que si se hubiera especificado "tlbimp" .

Valor devuelto

Devuelve un objeto Reference para el objeto de biblioteca de tipos de ActiveX solicitado.

Comentarios

El método AddActiveX agrega a un proyecto referencias para el objeto especificado, así como las dependencias que indique el objeto. Por tanto, una llamada a este método puede hacer que se agregue más de una referencia a la colección References.

El formato válido para un identificador GUID es "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}", donde X es un dígito hexadecimal (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F). Un método para determinar el identificador GUID para un objeto ActiveX consiste en ver el archivo .ocx o .tlb mediante la herramienta Oleview.exe, que se distribuye con Visual Studio.

Si ya hay en la colección una referencia con la misma identidad, se genera un error.

Si recibe un error "Biblioteca no registrada" al hacer referencia a un objeto COM válido, es probable que se deba al hecho que no está pasando un valor válido del parámetro lMajorVer al método AddActiveX. De manera predeterminada, AddActiveX utiliza un valor 0 para todo, excepto para el GUID. Si la versión del objeto COM es por ejemplo 1, la llamada producirá un error porque no hay ninguna versión 0 registrada de typelib. Por ejemplo, al llamar a la versión 1.0 del Reproductor de Windows Media

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

se produce el error antes mencionado, pero

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

funciona correctamente.

Este método agregará únicamente una biblioteca de tipos registrada. Se realiza una llamada a QueryPathOfRegTypeLib, una función de la API de automatización (anteriormente automatización OLE), a la que se le pasa la información proporcionada al método AddActiveX.

Si se conoce el nombre de archivo del objeto ActiveX, se puede agregar el objeto mediante el método Add. El método Add no requiere el identificador GUID, la versión ni el Id. de configuración regional.

Para quitar una referencia, utilice el método Remove.

Para obtener más información sobre los contenedores de objetos COM, alojamiento de ActiveX y los ensamblados de interoperabilidad primarios, vea Importador de la biblioteca de tipos (TlbImp.exe) y Importador de controles ActiveX de formularios Windows Forms (Aximp.exe).

Ejemplo

' 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

Vea también

Referencia

References (Interfaz)
References (Miembros)
VSLangProj (Espacio de nombres)