none
ActiveXについて RRS feed

  • 質問

  • 現在、クライアント側のCOMポートにてシリアル通信するActiveXについて検討しております。

    ActiveXについて、殆ど理解していないからだと思うのですが、どの辺りから学んでいけば良いか分からない為、質問させて頂きました。

    COMポートをオープンして、コマンドを送信、データを受信するコードはVBで作成しております。これをActiveXで利用する場合、CABかOCXにしないとASP.NETで利用できないのでしょうか?

    OCXを作成するにはVisualStudioのC++からMFC ActiveXコントロールで作成するのでしょうか?VBでのOCX作成はできないのでしょうか?

    よろしくお願い致します。

    2006年6月21日 1:48

回答

  • ブラウザ内のコンテンツ内に配置したコントロールからクライアントの COM ポートを操作したい、といういうことでよろしいでしょうか?

    上記のような目的であれば ActiveX コントロール(*.ocx)、あるいは .NET Farmework で作成した Windows フォーム用のコントロールを HTML ドキュメントに配置し、ブラウザのセキュリティ設定を適切に行なうことで可能です。

    ActiveX コントロールは VisualBasic 6.0, Visual C++ で作成することが可能ですが、既に VB (※ VisualBasic 6.0であるという前提で進めさせていただきます)にて動作するコードがあるのであれば、そのコードを ActiveX コントロールプロジェクトに移植するのがよろしいでしょう。

    VisualBasic 6.0 で ActiveX コントロールを作成するには、メニュー[ファイル] - [新しいプロジェクト] から ActiveX コントロールプロジェクトを選択します。

    VisualBasic 6.0 での具体的な ActiveX コントロールの作成方法につきましては、製品添付の MSDN ライブラリの以下の内容をご参照ください。

    Visual Studio 6.0 ドキュメント
    +-Visual Basic ドキュメント
      +-Visual Basic の使用方法
       +-コンポーネント ツール ガイド
        +-ActiveX コンポーネントの作成方法


    ここからは完成したActiveX コントロールを HTML コンテンツに配置する方法についてご案内させていただきます。

    通常 HTML コンテンツに ActiveX コントロールを配置するには、下記のように <object> タグの classid 属性に使用する ActiveX コントロールのクラス ID を調べて記述する必要があります。

     <OBJECT classid="clsid:ECD1B218-B6DD-4084-A42E-1B300A59FD54" VIEWASTEXT></OBJECT>

    しかし、VisualStudio.NET あるいは 2005 の Web フォームデザイナを使用することでこの作業を軽減することができます。
    VisualStudio のWeb フォームデザイナを使用して、HTML コンテンツ上に ActiveX コントロールを配置する手順は以下の通りです。

    手順
    =====
    1. 配置先の HTML あるいは aspx ファイルを VisualStudio のWeb フォームデザイナの[デザイン]ビューで表示

    2. [ツールボックス] の [Web フォーム] タブ内で右クリックし、表示されたショートカットメニューより [アイテムの追加と削除](※VS2005 では[アイテムの選択]) を選択

    3.[ツールボックスのカスタマイズ] ダイアログボックスが表示されるので [COM コンポーネント] タブを選択

    4. 同タブ内の [参照] ボタンをクリックし、使用する ActiveX コントロール (*.ocx ) のファイルを選択して [OK] ボタンをクリック

    5. [ツールボックス] に参照した ActiveX コントロールのアイコンが表示されるので、ドラッグアンドドロップで配置します。

    上記の手順で、HTML コンテンツへの ActiveX コントロールの配置は完了ですが、実際にクライアントサイドで動作させるためには IntenetExplorer のセキュリティ設定を適切に設定する必要があります。

    ※今回は HTML コンテンツに ActiveX コントロールを配置する方法についてご案内させていただきましたが、.NET の Windows フォーム用のコントロールを配置する方法は、上記の手順では行なえませんのでご注意ください。

    なお、より詳しい情報をご要望の場合は、弊社サポートサービスをご検討ください。


    以上、よろしくお願いします。

    2006年6月27日 8:20

すべての返信

  • とりあえず何も分からない状態からは厳しいと思います。

    本を何冊か読みませんか?

    >CABかOCXにしないとASP.NETで利用できないのでしょうか?

    クライアントサイドと、サーバサイドを適切に理解しましょう。

     

    #おねがいですから、タイトルは内容のわかる内容にしてください。

    2006年6月21日 2:29
  • 中博俊様

    いつも大変お世話になっております。

    >本を何冊か読みませんか?

    基礎から学びたいと思います。参考になる本を探してみます。

    >#おねがいですから、タイトルは内容のわかる内容にしてください。

    心がけたいと思います。

     

    2006年6月21日 8:37
  • ブラウザ内のコンテンツ内に配置したコントロールからクライアントの COM ポートを操作したい、といういうことでよろしいでしょうか?

    上記のような目的であれば ActiveX コントロール(*.ocx)、あるいは .NET Farmework で作成した Windows フォーム用のコントロールを HTML ドキュメントに配置し、ブラウザのセキュリティ設定を適切に行なうことで可能です。

    ActiveX コントロールは VisualBasic 6.0, Visual C++ で作成することが可能ですが、既に VB (※ VisualBasic 6.0であるという前提で進めさせていただきます)にて動作するコードがあるのであれば、そのコードを ActiveX コントロールプロジェクトに移植するのがよろしいでしょう。

    VisualBasic 6.0 で ActiveX コントロールを作成するには、メニュー[ファイル] - [新しいプロジェクト] から ActiveX コントロールプロジェクトを選択します。

    VisualBasic 6.0 での具体的な ActiveX コントロールの作成方法につきましては、製品添付の MSDN ライブラリの以下の内容をご参照ください。

    Visual Studio 6.0 ドキュメント
    +-Visual Basic ドキュメント
      +-Visual Basic の使用方法
       +-コンポーネント ツール ガイド
        +-ActiveX コンポーネントの作成方法


    ここからは完成したActiveX コントロールを HTML コンテンツに配置する方法についてご案内させていただきます。

    通常 HTML コンテンツに ActiveX コントロールを配置するには、下記のように <object> タグの classid 属性に使用する ActiveX コントロールのクラス ID を調べて記述する必要があります。

     <OBJECT classid="clsid:ECD1B218-B6DD-4084-A42E-1B300A59FD54" VIEWASTEXT></OBJECT>

    しかし、VisualStudio.NET あるいは 2005 の Web フォームデザイナを使用することでこの作業を軽減することができます。
    VisualStudio のWeb フォームデザイナを使用して、HTML コンテンツ上に ActiveX コントロールを配置する手順は以下の通りです。

    手順
    =====
    1. 配置先の HTML あるいは aspx ファイルを VisualStudio のWeb フォームデザイナの[デザイン]ビューで表示

    2. [ツールボックス] の [Web フォーム] タブ内で右クリックし、表示されたショートカットメニューより [アイテムの追加と削除](※VS2005 では[アイテムの選択]) を選択

    3.[ツールボックスのカスタマイズ] ダイアログボックスが表示されるので [COM コンポーネント] タブを選択

    4. 同タブ内の [参照] ボタンをクリックし、使用する ActiveX コントロール (*.ocx ) のファイルを選択して [OK] ボタンをクリック

    5. [ツールボックス] に参照した ActiveX コントロールのアイコンが表示されるので、ドラッグアンドドロップで配置します。

    上記の手順で、HTML コンテンツへの ActiveX コントロールの配置は完了ですが、実際にクライアントサイドで動作させるためには IntenetExplorer のセキュリティ設定を適切に設定する必要があります。

    ※今回は HTML コンテンツに ActiveX コントロールを配置する方法についてご案内させていただきましたが、.NET の Windows フォーム用のコントロールを配置する方法は、上記の手順では行なえませんのでご注意ください。

    なお、より詳しい情報をご要望の場合は、弊社サポートサービスをご検討ください。


    以上、よろしくお願いします。

    2006年6月27日 8:20
  •  ActiveXコントロールの作成及び配置に至るまで、ご丁寧に解説頂きまして、ありがとうございます。

     ご教授頂いた内容を参考にさせて頂きます。

    2006年6月28日 23:27