References.AddActiveX メソッド

更新 : 2007 年 11 月

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

    省略可能なロケール ID。詳細については、LocaleID を参照してください。

  • bstrWrapperTool
    型 : System.String

    タイプ ライブラリのアセンブリ ラッパーを生成するときに使用されるラッパー ツール。サポートされている値を次の表に示します。

    結果

    "tlbimp"

    プロジェクト システムは、COM オブジェクトのメソッドおよびプロパティへのアクセスに適した汎用ラッパーを生成します。

    "aximp"

    プロジェクト システムは、Windows フォームで ActiveX のホストに使用するラッパーを生成します。

    "" (空の文字列)

    プロジェクト システムは、指定したタイプ ライブラリの基本相互運用性アセンブリが存在するかどうかを確認します。存在する場合は、そのアセンブリを COM オブジェクトのメソッドおよびプロパティのラッパーとして使用します。存在しない場合は、"tlbimp" を指定した場合と同じ動作になります。

戻り値

型 : VSLangProj.Reference

要求された ActiveX ライブラリ オブジェクトの Reference オブジェクトを返します。

解説

AddActiveX メソッドは、指定したオブジェクトのプロジェクトへの参照と、そのオブジェクトの依存関係への参照を追加します。したがって、このメソッドを 1 回呼び出すことによって、References コレクションに複数の参照が追加される場合があります。

GUID の有効な形式は "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}" です。X には 16 進数の数字 (0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F) が代入されます。ActiveX オブジェクトの GUID を決定する 1 つの方法は、Visual Studio に付属の Oleview.exe ツールを使用して .ocx または .tlb ファイルを表示する方法です。

同じ ID の参照が既にコレクションに存在する場合は、エラーが発生します。

有効な COM オブジェクトを参照しているときに、"ライブラリが登録されていません。" というエラー メッセージが表示された場合、原因として、有効な lMajorVer パラメータ値を AddActiveX メソッドに渡していないことが考えられます。既定では、AddActiveX は、GUID 以外のすべてに対して値 0 を使用します。たとえば、COM オブジェクトのバージョンが 1 の場合、typelib のバージョン 0 は登録されていないため、呼び出しは失敗します。また、バージョン 1.0 の Windows メディア プレーヤーを呼び出した場合、

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

では前述のエラーが発生しますが、

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

は正しく動作します。

このメソッドは、登録されているタイプ ライブラリだけを追加します。AddActiveX メソッドに指定された情報を引数として、オートメーション (以前のバージョンの OLE オートメーション) API 関数の QueryPathOfRegTypeLib が呼び出されます。

ActiveX オブジェクトのファイル名が明らかな場合は、Add を使用してオブジェクトを追加できます。Add メソッドには、GUID、バージョン、およびロケール ID は必要ありません。

参照を削除するには、Remove を使用します。

COM オブジェクトのラッパー、ActiveX のホスト、主な相互運用性アセンブリの詳細については、「タイプ ライブラリ インポータ (Tlbimp.exe)」および「Windows フォーム ActiveX コントロール インポータ (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

アクセス許可

  • 直前の呼び出し元に対する完全な信頼。このメンバは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。

参照

参照

References インターフェイス

References メンバ

VSLangProj 名前空間