References.AddActiveX - метод
Обновлен: Ноябрь 2007
Добавляет ссылку на библиотеку типов ActiveX.
Пространство имен: VSLangProj
Сборка: VSLangProj (в VSLangProj.dll)
Синтаксис
'Декларация
Function AddActiveX ( _
bstrTypeLibGuid As String, _
lMajorVer As Integer, _
lMinorVer As Integer, _
lLocaleId As Integer, _
bstrWrapperTool As String _
) As Reference
'Применение
Dim instance As References
Dim bstrTypeLibGuid As String
Dim lMajorVer As Integer
Dim lMinorVer As Integer
Dim lLocaleId As Integer
Dim bstrWrapperTool As String
Dim returnValue As Reference
returnValue = instance.AddActiveX(bstrTypeLibGuid, _
lMajorVer, lMinorVer, lLocaleId, _
bstrWrapperTool)
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
)
function AddActiveX(
bstrTypeLibGuid : String,
lMajorVer : int,
lMinorVer : int,
lLocaleId : int,
bstrWrapperTool : String
) : Reference
Параметры
- bstrTypeLibGuid
Тип: System.String
Обязательный. Глобальный идентификатор (GUID) библиотеки типов, выраженный в формате строки.
- lMajorVer
Тип: System.Int32
Необязательный компонент. Основной номер версии. Если опущен, используется значение 0.
- lMinorVer
Тип: System.Int32
Необязательный компонент. Дополнительный номер версии. Если опущен, используется значение 0.
- lLocaleId
Тип: System.Int32
Необязательный код языка. Дополнительные сведения см. в разделе LocaleID.
- bstrWrapperTool
Тип: System.String
Инструмент создания программы-оболочки, используемый при создании оболочки сборки для библиотеки типов. Поддерживаемые значения приведены в следующей таблице:Значение
Результат
"tlbimp"
В системе проекта создается универсальная оболочка, подходящая для доступа к методам и свойствам COM-объектов.
"aximp"
В системе проекта создается оболочка, используемая формами Windows для размещения ActiveX.
"" (пустая строка)
В системе проекта проверяется, существует ли основная сборка взаимодействия для указанной библиотеки типов. При обнаружении этой сборки она используется как оболочка для доступа к методам и свойствам COM-объектов. Если данная сборка не найдена, поведение будет как при указанном значении "tlbimp".
Возвращаемое значение
Тип: VSLangProj.Reference
Возвращает объект Reference для запрошенного объекта библиотеки ActiveX.
Заметки
Метод 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 была получена ошибка "Библиотека не зарегистрирована", то скорее всего в метод 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) и Программа импорта элементов ActiveX форм Windows (Aximp.exe).
Примеры
' 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
Разрешения
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.