Поделиться через


References.AddActiveX - метод

Добавляет ссылку на библиотеку типов ActiveX.

Пространство имен:  VSLangProj
Сборка:  VSLangProj (в VSLangProj.dll)

Синтаксис

'Декларация
Function AddActiveX ( _
    bstrTypeLibGuid As String, _
    lMajorVer As Integer, _
    lMinorVer As Integer, _
    lLocaleId As Integer, _
    bstrWrapperTool As String _
) As Reference
Reference AddActiveX(
    string bstrTypeLibGuid,
    int lMajorVer,
    int lMinorVer,
    int lLocaleId,
    string bstrWrapperTool
)
Reference^ AddActiveX(
    [InAttribute] String^ bstrTypeLibGuid, 
    [InAttribute] int lMajorVer, 
    [InAttribute] int lMinorVer, 
    [InAttribute] int lLocaleId, 
    [InAttribute] String^ bstrWrapperTool
)
abstract AddActiveX : 
        bstrTypeLibGuid:string * 
        lMajorVer:int * 
        lMinorVer:int * 
        lLocaleId:int * 
        bstrWrapperTool:string -> Reference
function AddActiveX(
    bstrTypeLibGuid : String, 
    lMajorVer : int, 
    lMinorVer : int, 
    lLocaleId : int, 
    bstrWrapperTool : String
) : Reference

Параметры

  • bstrTypeLibGuid
    Тип: String

    Обязательный. Глобальный идентификатор (GUID) библиотеки типов, выраженный в формате строки.

  • lMajorVer
    Тип: Int32

    Необязательно. Основной номер версии. Если опущен, используется 0.

  • lMinorVer
    Тип: Int32

    Необязательно. Дополнительный номер версии. Если опущен, используется 0.

  • lLocaleId
    Тип: Int32

    Необязательный код языка. Для получения дополнительной информации см. LocaleID.

  • bstrWrapperTool
    Тип: String

    Инструмент создания программы-оболочки, используемый при создании оболочки сборки для библиотеки типов. Поддерживаемые значения приведены в следующей таблице:

    [1|1] Значение

    [1|2] Результат

    [2|1] "tlbimp"

    [2|2] Система проекта создает универсальную оболочку, подходящую для доступа к методам и свойствам COM-объектов.

    [3|1] "aximp"

    [3|2] Система проекта создает оболочку, используемую формами Windows Forms для размещения ActiveX.

    [4|1] "" (пустая строка)

    [4|2] Система проекта проверяет, существует ли основная сборка взаимодействия для указанной библиотеки типов. При обнаружении этой сборки она используется как оболочка для доступа к методам и свойствам COM-объектов. Если данная сборка не найдена, поведение будет как при указанном значении "tlbimp" .

Возвращаемое значение

Тип: VSLangProj.Reference
Возвращает объект Reference для запрошенного объекта библиотеки ActiveX.

Заметки

Метод AddActiveX добавляет в проект ссылки на указанный объект, а также любые зависимости, перечисленные в объекте. Таким образом, при одном вызове этого метода в коллекцию References может быть добавлено несколько ссылок.

Действительным форматом глобального уникального идентификатора является {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}, где X — это шестнадцатеричное число (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F). Один метод определения GUID для объекта ActiveX — просмотреть файл .ocx или .tlb, используя средство Oleview.exe, распространяемое с Visual Studio.

Если ссылка с таким идентификатором уже есть в коллекции, создается ошибка.

Если при ссылке на допустимый объект COM была получена ошибка "Библиотека не зарегистрирована", то скорее всего в метод AddActiveX не был передан допустимый параметр lMajorVer. По умолчанию в методе AddActiveX используется значение 0 для всего, кроме GUID. Если, например, версия объекта COM имеет значение 1, то вызов не будет выполнен, потому что не существует зарегистрированной библиотеки типов версии 0. Например, при вызове версии 1.0 проигрывателя Windows Media

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

создается вышеупомянутая ошибка, но

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

работает корректно.

С помощью этого метода можно добавлять только зарегистрированную библиотеку типов. Вызывается функция API автоматизации (ранее – OLE-автоматизации) QueryPathOfRegTypeLib, и полученные сведения передаются в метод AddActiveX.

Если известно имя файла для объекта ActiveX, объект может быть добавлен с помощью метода Add. Для метода Add не требуется указывать GUID, версию или код языка.

Чтобы удалить ссылку, используется метод Remove.

Дополнительные сведения по оболочкам COM-объектов, размещению ActiveX и основным сборкам взаимодействия см. в разделах Tlbimp.exe (программа экспорта библиотек типов) и Aximp.exe (программа импорта элементов ActiveX форм Windows).

Примеры

' 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

Безопасность платформы .NET Framework

См. также

Ссылки

References Интерфейс

VSLangProj - пространство имен