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

文書翻訳 文書翻訳
文書番号: 816152 - 対象製品
すべて展開する | すべて折りたたむ

目次

概要

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


要件

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

この資料は、次のトピックについて詳しい知識のあるユーザーを対象としています:
  • Visual C# .NET または Visual C# 2005
  • COM

Visual Studio .NET から COM コンポーネントを使用

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

メモ この資料ではデモンストレーション MyCOMComponent という単純な COM コンポーネントを使用してください。 このコンポーネント単一クラスが含ま、 クラス 1 、1 つのメソッドを 追加 します。 追加 メソッドは、2 つの数値を加算し、合計を返します。 「"Complete Code Listing for 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. [ [参照の追加 ] ダイアログ ボックスの [ リスト ビュー コントロールのすべての COM が表示されて通知 COM タブをクリックしてアルファベット順にローカル コンピューターに登録されているコンポーネント。
  10. 検索および MyCOMComponent.dll ファイルを選択、 ファイルを開く ] をクリックし、 [OK] ダイアログ ボックスを閉じます。

    メモ Visual Studio 2005 で ファイルを開く ] をクリックする必要はありません。
  11. クラス 1 のコード ウィンドウで、次のコードを 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 を登録する使用する前に必要があります。 MyCOMComponent を登録する Regsvr32.exe などのツールを使用することを確認します。

関連情報

詳細については、次の Microsoft Developer Network (MSDN) Web サイト (英語版) を参照してください:
高度な COM 相互運用機媒
http://msdn2.microsoft.com/en-us/library/8bwh56xe(vs.71).aspx

プロパティ

文書番号: 816152 - 最終更新日: 2007年5月16日 - リビジョン: 2.5
この資料は以下の製品について記述したものです。
  • Microsoft Visual C# 2005 Express Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
キーワード:?
kbhowtomaster kbwindowsforms kbinterop kbcontrol kbcominterop kbmt KB816152 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:816152
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com