共用方式為


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

    必要項。 型別程式庫的全域唯一識別項 (Globally Unique Identifier,GUID),以字串表示。

  • lMajorVer
    類型:Int32

    選擇項。 主要版本號碼。 如果省略,則使用 0。

  • lMinorVer
    類型:Int32

    選擇項。 次要版本號碼。 如果省略,則使用 0。

  • lLocaleId
    類型:Int32

    選擇性的地區設定識別碼。 如需詳細資訊,請參閱LocaleID

  • bstrWrapperTool
    類型:String

    產生型別程式庫的組件 (Assembly) 包裝函式時,所使用的包裝函式工具。 下表中說明可支援的值。

    [1|1] 值

    [1|2] 結果

    [2|1] "tlbimp"

    [2|2] 專案系統產生適用於存取 COM 物件方法和屬性的泛用包裝函式。

    [3|1] "aximp"

    [3|2] 專案系統產生 Windows form 使用於 ActiveX 裝載的包裝函式。

    [4|1] "" (空字串)

    [4|2] 專案系統會檢查指定型別程式庫的主要互通性 (Interoperability) 組件是否存在。 如果找到,則會將這個組件當做 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)。 若要判斷 ActiveX 物件的 GUID,其中一種方法就是使用與 Visual Studio 一併散發的 Oleview.exe 工具,以檢視 .ocx 或 .tlb 檔。

如果集合中已有相同識別 (Identity) 的參考,則會產生錯誤。

如果在參考有效 COM 物件時收到「未註冊的程式庫」(Library not registered) 錯誤,原因可能是傳遞給 AddActiveX 方法的 lMajorVer 參數值無效。 AddActiveX 對 GUID 以外的任何資料預設都使用 0 這個值。 例如 COM 物件的版本為 1 時,此呼叫就會失敗,因為 typelib 並沒有註冊任何為 0 的版本。 例如呼叫 1.0 版的 Windows Media Player

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

就會產生先前提到的錯誤,但

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

正常運作。

這個方法只會加入註冊型別程式庫。 整個過程會呼叫 QueryPathOfRegTypeLib 這個 Automation (以前稱為 OLE Automation) API 函式,並將所提供的資訊傳給 AddActiveX 方法。

如果 ActiveX 物件的檔名是已知的,則可使用 Add 加入物件。 Add 方法不需要 GUID、版本或地區設定 ID。

若要移除參考,請使用 Remove

如需 COM 物件包裝函式、ActiveX 裝載以及主要互通性組件的詳細相關資訊,請參閱Tlbimp.exe (類型程式庫匯入工具)Aximp.exe (Windows Form 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 命名空間