- - PR -
ASP.NETの画面に貼り付け可能なActiveXコントロールの作り方
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-09-18 19:11
gt-fと申します。
vb2005、asp.net、IISを使って、 ActiveXコントロールをブラウザ経由でユーザにダウンロードさせ、 クライアントで実行させるWebページを作ろうとしています。 ActiveX、ASPに関してはまだ勉強中で、考えかたが間違えているかも しれませんが、やりたいことは以下の通りです。 1.自作のActiveXコントロールを作成する 2.上記コントロールを、ASP.NET Webアプリケーションのツールボックスに表示させる 3.ASP.NET Webアプリケーションの画面に、自作コントロールをドラッグする ※ActiveXにはこだわっておりません(.netのアセンブリでも可) 【やったこと】 1. VC++2005のMFC ActiveXコントロール(OCX)を作成した 2. VB2005でクラスライブラリを作成後、ユーザコントロールを追加し、 アセンブリを作成した(以下を参考にしました)。 http://www.users.gr.jp/blogs/hidori/archive/2004/11/17/6131.aspx 3. 1のocx、2のdllを「アイテムの選択」からASP.NET Webアプリケーション のツールボックスに表示させた。 【困っていること】 上記3において、自作コントロールがツールボックスに表示はされたものの、 グレー表示(非活性)になっており、Webアプリケーションの画面にドラッグできない。 【お聞きしたいこと】 asp.netの画面にツールボックスからドラッグし、IISでwebアプリとして公開 することで、クライアントPCのブラウザ経由でダウンロードして実行できるような コントロールは、どの言語で作れば良いのでしょうか。 (上記手順のどこが違っておりますでしょうか) 参考になるURLでも構いませんので、ご教示の程、よろしくお願いいたします。 | ||||||||
|
投稿日時: 2008-09-19 10:54
単にカスタムのテキストボックスを配置したいだけなら、ASP.NETのカスタムコントロールを作成すればいいわけで、あえてActiveXを選択した理由には要件が有るんですか?
クライアントの資源を使いたい? リッチなUIを提供したい? _________________ かるあ のメモ と スニペット | ||||||||
|
投稿日時: 2008-09-19 11:58
かるあ様
レスありがとうございます。説明不足ですみません。 ActiveXを選択した理由は、以下の通りです。 ・顧客が(できれば)ActiveXでの開発を希望している ・クライアントPCにインストール済みのライブラリ(VC++にて作成)の関数を、 ActiveX等から呼び出す必要がある ためです。 ActiveXでは実現が難しく、代替策があるようであれば、そちらで提案してみよう と思っております。 | ||||||||
|
投稿日時: 2008-09-19 12:37
て出来るんでしたっけ? object タグを手書きするんじゃだめなんですか? | ||||||||
|
投稿日時: 2008-09-19 12:40
という要件があるなら、VC++ で ActiveX コントロールを作るのが無難でしょう。 ATL を使えばダウンロードモジュールを小さく仕上げることもできるし。 ただ、「クライアントPCにインストール済みのライブラリ」てやつの配備状況によっちゃ、そのライブラリが公開する機能呼び出しに苦労するかもしれませんが。 _________________ // 渋木宏明 (Hiroaki SHIBUKI) // http://hidori.jp/ // Microsoft MVP for Visual C# // // @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/ | ||||||||
|
投稿日時: 2008-09-22 16:13
渋木宏明(ひどり)様
レス、どうもありがとうございます。 返信が遅くなりすみません。割り込みの仕事に追われていました。
出来ないみたいです。 VC++ MFCのActiveXコントロールで実装することにしました。 実装方法について、あちこちのサイトで調べているところです。 お手数ですが、引き続きご教示ください。 まずは、ActiveXコントロールに配置したボタンを押したら、 c:\tmp\text.txt に "abc" と出力するようなサンプルを作ろうとしております。 以下の手順で進めました。 【やったこと】 ・VC++にて、MFCのActiveXコントロールを、BUTTONに基づいて作成 ・コントロールには、メソッド1つ、リソースビューのIDD_PROPPAGE_xxxに ボタンを1つ配置。処理内容はいずれもローカルへのテキスト出力。 ・ActiveXコントロールをobjectタグでHTMLに貼り付ける ・IISで実行 【お聞きしたいこと】 IISで実行しても、ActiveXコントロールが表示されないのですが、 (アイコン?のみ、表示されている) ActiveXコントロールに配置したボタンを、ブラウザに表示させることは できないのでしょうか。 [ メッセージ編集済み 編集者: gt-f 編集日時 2008-09-22 16:34 ] | ||||||||
|
投稿日時: 2008-09-22 21:41
出来ます。 ActiveX コントロールを配布するための CAB ファイルを作って、IIS に配備すればよろしいんじゃないかと。 MFC コントロールおよび ATL コントロール用の署名付き CAB ファイルの作成 http://msdn.microsoft.com/ja-jp/library/4kex18w6.aspx | ||||||||
|
投稿日時: 2008-10-02 18:23
渋木宏明(ひどり)様
レス、どうもありがとうございます。 おかげさまで、cabファイルを作成し、 JavascriptからActiveXコントロールのメソッドを呼び出す ところまではうまく行きました。 ディジタル署名その他はまだ未着手ですが、一先ず報告させて いただきました。 |
1