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.

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.

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

Reference

Возвращает объект 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).

Применяется к