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
    类型:System.String
    必选。类型库的全局唯一标识符 (GUID),表示为一个字符串。
  • lMajorVer
    类型:System.Int32
    可选。主版本号。如果省略,则使用“0”。
  • lMinorVer
    类型:System.Int32
    可选。次版本号。如果省略,则使用“0”。
  • lLocaleId
    类型:System.Int32
    可选区域设置 ID。有关更多信息,请参见 LocaleID
  • bstrWrapperTool
    类型:System.String
    用于为类型库生成程序集包装的包装工具。下表描述了受支持的值。
    [1|1] 值
    [1|2] 结果
    [2|1] "tlbimp"
    [2|2] 该项目系统生成适合访问 COM 对象的方法和属性的泛型包装。
    [3|1] "aximp"
    [3|2] 项目系统生成 Windows 窗体用于 ActiveX 宿主的包装。
    [4|1] "" ((空字符串)
    [4|2] 项目系统检查指定类型库的主互操作性程序集是否存在。如果找到,则该程序集将被用作 COM 对象的方法和属性的包装。如果没有找到,则行为和指定了的 "tlbimp" 相同。

返回值

类型:VSLangProj.Reference
为所请求的 ActiveX 库对象返回一个 Reference 对象。

备注

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)。 为 ActiveX 对象确定 GUID 的一种方法是用随 Visual Studio 一起分发的 Oleview.exe 工具查看 .ocx 文件或 .tlb 文件。

如果集合中已经存在具有相同标识的引用,则将生成错误。

如果在引用有效的 COM 对象时,出现“库未注册”错误,则很可能是由于您未将有效的 lMajorVer 参数值传递给 AddActiveX 方法。 默认情况下,对于 GUID 以外的任何项,AddActiveX 都使用值 0。 例如,如果 COM 对象的版本为 1,则调用将失败,原因是没有版本为 0 的已注册类型库。 例如,调用 1.0 版的 Windows Media Player 时,

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

将产生上述错误,但是

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

正常工作。

此方法只添加已注册的类型库。 调用“自动化”(原来为“OLE 自动化”)API 函数 QueryPathOfRegTypeLib,将提供的信息传递给 AddActiveX 方法。

如果知道 ActiveX 对象的文件名,则可以通过使用 Add 添加该对象。 Add 方法不需要 GUID、版本或区域设置 ID。

若要移除引用,请使用 Remove

有关 COM 对象包装、ActiveX 承载和主互操作程序集的更多信息,请参见 Tlbimp.exe(类型库导入程序)Aximp.exe(Windows 窗体 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

.NET Framework 安全性

请参见

参考

References 接口

VSLangProj 命名空间