Visual C# .NET を使用して、Visual Studio .NET または Visual C# 2005 で Visual Studio 2005 では、COM コンポーネントを使用する方法

概要

この資料では、コンポーネントを使用して、COM から Microsoft Visual Studio .NET で Microsoft Visual C# .NET を使用するか、または Microsoft Visual Studio 2005 で Microsoft Visual C# 2005 を使用して方法について説明します。


先頭に戻る

要件

推奨されるハードウェア、ソフトウェア、ネットワーク インフラストラクチャ、および必要な service pack は次をとおり。
  • Visual C# .NET または Visual C# 2005

この資料は次のトピックに精通している事を前提としています。
  • Visual C# .NET または Visual C# 2005
  • COM
先頭に戻る

Visual Studio .NET からの COM コンポーネントを使用します。

Microsoft.NET Framework のコンポーネント オブジェクト モデル (COM) 相互運用性レイヤー (または COM 相互運用機能) を使用して Microsoft Visual Studio .NET コードから COM コンポーネントを使用できます。Visual Studio .NET または Visual Studio 2005 を使用すると、簡単にアクセスして COM コンポーネントを使用できます。

注: この資料では、デモンストレーションのために MyCOMComponent をという名前の単純な COM コンポーネントを使用します。このコンポーネントには、1 つのクラス、 Class1の 1 つのメソッドを追加が含まれています。Addメソッドでは、2 つの数値を加算し、合計を返します。このコンポーネントのソース コードの「完全なコード リストの MyCOMComponent」のセクションを参照してください。この資料で使用される手法は、任意の COM コンポーネントに適用されます。
  1. Microsoft Visual Basic 6.0 を起動します。
  2. MyCOMComponent という名前の新しいActiveX Dllを作成します。
  3. Class1のコード ウィンドウで、次を貼り付けます。
    'Sample COM Component Source Code'Written in Visual Basic 6.0
    '
    'Project Name: MyCOMComponent
    'Project Type: COM DLL
    'File Name: MyCOMComponent.dll
    '
    'Class Name: Class1

    Option Explicit

    Public Function Add(ByVal Num1 As Long, ByVal Num2 As Long) As Long
    Add = Num1 + Num2
    End Function
  4. [ファイル] メニューをクリックしてMyCOMComponent.dll を作成します
  5. [プロジェクトの作成] ダイアログ ボックスで、次のようにクリックします。
    OK. MyCOMComponent.Dll が作成されます。
  6. Microsoft Visual Basic 6.0 を終了します。
  7. Microsoft Visual Studio .NET または Microsoft Visual Studio 2005 を起動します。Visual C# .NET または Visual C# 2005 では、新しいコンソール アプリケーションを作成し、 MyCOMClientプロジェクトの名前を指定します。
  8. [プロジェクト] メニューの [参照の追加をクリックします。
  9. [参照の追加] ダイアログ ボックスでは、 ListViewコントロールがアルファベット順に、ローカル コンピューターに登録されているすべての COM コンポーネントを一覧表示する通知 [ COM ] タブをクリックします。
  10. MyCOMComponent.dll ファイルを選択して、[開く] をクリックし、ダイアログ ボックスを閉じます[ok]をクリックします。

    注: Visual Studio 2005 では、[開く] をクリックする必要はありません。
  11. Class1のコード ウィンドウで、次のコードをMain関数に追加します。
    int mySum = 0;MyCOMComponent.Class1Class  myCOM = new MyCOMComponent.Class1Class();
    mySum = myCOM.Add(1,2);

    Console.Write("1 + 2 = {0}", mySum.ToString());
    Console.ReadLine();

  12. [デバッグ] メニューで、開始をビルドしてアプリケーションを実行するをクリックします。

    次の出力がコンソール ウィンドウに表示されます。
    1 + 2 = 3
先頭に戻る

Visual C# .NET を実行するコード リスト

using System;
namespace MyCOMClient
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Class1
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
int mySum = 0;
MyCOMComponent.Class1Class myCOM = new MyCOMComponent.Class1Class();
mySum = myCOM.Add(1,2);

Console.Write("1 + 2 = {0}", mySum.ToString());
Console.ReadLine();
}

}
}
先頭に戻る

MyCOMComponent のコード リストを完了します。

'Sample COM Component Source Code'Written in Visual Basic 6.0
'
'Project Name: MyCOMComponent
'Project Type: COM DLL
'File Name: MyCOMComponent.dll
'
'Class Name: Class1

Option Explicit

Public Function Add(ByVal Num1 As Long, ByVal Num2 As Long) As Long
Add = Num1 + Num2
End Function


先頭に戻る

トラブルシューティングを行う

同様に、COM コンポーネントを使用する前に、MyCOMComponent を登録してください。Regsvr32.exe などのツールを使用して、MyCOMComponent を登録することを確認します。

先頭に戻る

関連情報

詳細については、次の Microsoft Developer Network (MSDN) Web サイトを参照してください。

先頭に戻る
プロパティ

文書番号:816152 - 最終更新日: 2017/02/01 - リビジョン: 1

フィードバック