- - PR -
JavaScriptとActiveXコントロールの連携について
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-03-16 17:50
はじめまして。
JavaScriptとActiveXコントロールの連携について質問です。 現在、私はJavaScriptによりActiveXコントロールを呼出し、 CallBack関数のように使用したいと考えています。 HomePage上のJavaScriptからActiveXコントロール呼出し後、 ActiveXコントロールは何らかの処理待ち状態になり、 処理がおわった後に、ActiveXコントロールの呼出し元のHomePageに イベント通知及び、データの受け渡しを行うことは可能でしょうか? また、JavaScriptとActiveXコントロールの連携について記述された 書籍あるいは、HomePageなどがありましたら教えていただけませんでしょうか? よろしくお願いいたします。 | ||||||||||||
|
投稿日時: 2005-03-16 18:11
コールバックにする必然性がありますか?
単に、ActiveX 呼び出して、処理が終わってデータが返されるのを待っていればいいだけでは? 「JavaScriptからActiveXを」というキーワードでググるといろいろな情報が見つかりますが、自分で調べましたか? | ||||||||||||
|
投稿日時: 2005-03-16 18:13
VBScriptだと、ActiveXやDHTMLオブジェクトからイベント受け取るには 「オブジェクト名_イベント名」のメソッドがあれば呼ばれます。 同じようにJavaScriptだと、「オブジェクト名::イベント名」で呼ばれます。 ActiveX側にPublicイベントを定義して、 JavaScript側で上記のルールでメソッドを定義すれば、 独自のイベントを処理する事ができます。
http://www.google.co.jp | ||||||||||||
|
投稿日時: 2005-03-16 18:46
早速のご回答、どうもありがとうございました。
>「JavaScriptからActiveXを」というキーワードでググるといろいろな情報が見つかります>が、自分で調べましたか? 接続詞をつけずに「JavaScript ActiveX」で調べてました。 もう少し調べてみます。 | ||||||||||||
|
投稿日時: 2005-03-17 10:29
>また、JavaScriptとActiveXコントロールの連携について記述された
>書籍あるいは、HomePageなどがありましたら教えていただけませんでしょうか? 一年ほど前に、自分も探していたのですが、網羅的なページは見つかりませんでした。 結局(ActiveXについて掲載されている)VisualBasicの本を購入するはめになりました。 かつのりさんが書かれているように、Publicメソッドを呼び出すのが おそらく現実解です。Publicメソッドの中でイベント等は呼び出せば大丈夫でしょう? それ以上を望むなら、Microsoftの文書を漁るしかないと思います。 IISの運用も含めると、解説書も欲しいところです。 | ||||||||||||
|
投稿日時: 2005-03-17 12:39
今回のFAQはクライアントサイドのActiveXですので、IISは関係ないのでは?
ActiveXが自分自身のPublicイベントを呼び出して、 それを実行しているスクリプトがそのイベントをハンドルするのであり、 (オブジェクトのイベントを拾えるように、命名規約に沿ったメソッドを定義する事) ActiveX自身が実行元のPublicメソッドを呼び出しているのではありません。 >syoさん いきなり難しい事をせず、サンプル的なソースを作りながらやってみては? ・イベントを持つActiveXDLLを作成 ・処理終了後にイベントをコールする というようなサンプルを作って、 ・ブラウザから呼び出す ・イベントをハンドルできるようにする というように、段を踏んでサンプルを作りながら理解してみてください。 | ||||||||||||
|
投稿日時: 2005-03-17 13:13
>今回のFAQはクライアントサイドのActiveXですので、IISは関係ないのでは?
ないかもしれませんね? まあ、関係ないなら、質問者には無視してもらえるでしょう。 >ActiveXが自分自身のPublicイベントを呼び出して、 >それを実行しているスクリプトがそのイベントをハンドルするのであり、 >(オブジェクトのイベントを拾えるように、命名規約に沿ったメソッドを定義する事) >ActiveX自身が実行元のPublicメソッドを呼び出しているのではありません。 文意はよくわかりませんが、作ったように動くんでしょうね。 DHTMLから、ActiveXコンポーネントのメソッドを呼び出すだけに留めた方が、 質問者にとって現実的なハードルになると思っただけです。 | ||||||||||||
|
投稿日時: 2005-03-17 13:34
>HomePage上のJavaScriptからActiveXコントロール呼出し後、
>ActiveXコントロールは何らかの処理待ち状態になり、 >処理がおわった後に、ActiveXコントロールの呼出し元のHomePageに >イベント通知及び、データの受け渡しを行うことは可能でしょうか? こんな感じで連携したことがあります。 <html> <script> function body_OnLoad() { XXXX.StartSpeedCheck(); } </script> <script LANGUAGE="JavaScript" FOR="XXXX" EVENT="CheckedSpeed(bytes)"> ... alert("スピード = " + bytes); ... </script> <body onLoad="body_OnLoad()"> ... <object id="XXXX" classid="CLSID:ZZZZ" codebase="XXXX.cab" width="1" height="1"> ... </body> </html> >また、JavaScriptとActiveXコントロールの連携について記述された >書籍あるいは、HomePageなどがありましたら教えていただけませんでしょうか? Lichtenstein が言われているように、まとまったページはないようです。 [ メッセージ編集済み 編集者: 未記入 編集日時 2005-03-17 13:36 ] |