References.AddActiveX(String, Int32, Int32, Int32, String) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Добавляет ссылку на библиотеку типов ActiveX.
VSLangProj::Reference AddActiveX(std::wstring const & bstrTypeLibGuid, int lMajorVer = 0, int lMinorVer = 0, int lLocaleId = 0, std::wstring const & bstrWrapperTool = "");
[System.Runtime.InteropServices.DispId(7)]
public VSLangProj.Reference AddActiveX (string bstrTypeLibGuid, int lMajorVer = 0, int lMinorVer = 0, int lLocaleId = 0, string bstrWrapperTool = "");
[<System.Runtime.InteropServices.DispId(7)>]
abstract member AddActiveX : string * int * int * int * string -> VSLangProj.Reference
Public Function AddActiveX (bstrTypeLibGuid As String, Optional lMajorVer As Integer = 0, Optional lMinorVer As Integer = 0, Optional lLocaleId As Integer = 0, Optional bstrWrapperTool As String = "") As Reference
Параметры
- bstrTypeLibGuid
- String
Обязательный. Глобальный идентификатор (GUID) библиотеки типов, выраженный в формате строки.
- lMajorVer
- Int32
Необязательный параметр. Основной номер версии. Если опущен, используется 0.
- lMinorVer
- Int32
Необязательный параметр. Дополнительный номер версии. Если опущен, используется 0.
- 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.
Возвращаемое значение
Возвращает объект Reference для запрошенного объекта библиотеки ActiveX.
- Атрибуты
Примеры
' 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
Комментарии
AddActiveXМетод добавляет ссылки на проект для указанного объекта и всех зависимостей, перечисленных объектом. Поэтому один вызов этого метода может привести к добавлению в коллекцию более чем одной ссылки References .
Допустимый формат GUID: "{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-объект появляется ошибка "Библиотека не зарегистрирована", скорее всего, это связано с тем, что в метод не передается допустимое lMajorVer значение параметра AddActiveX . По умолчанию 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)
работает правильно.
Этот метод добавляет только зарегистрированную библиотеку типов. Выполняется вызов QueryPathOfRegTypeLib функции API автоматизации (прежнее название — OLE-автоматизация), которая передает сведения, предоставленные AddActiveX методу.
Если имя файла объекта ActiveX известно, объект можно добавить с помощью Add . Для Add метода не требуется идентификатор GUID, версия или языковой стандарт.
Чтобы удалить ссылку, используйте Remove .
Дополнительные сведения о оболочках объектов COM, размещении ActiveX и основных сборках взаимодействия см. в разделе Tlbimp.exe (программа импорта библиотек типов) и Aximp.exe (Windows Forms средства импорта элементов ActiveX).