- - PR -
JavaScriptとActiveXコントロールの値のやりとりについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-07-08 09:07
#この内容は、最初、Java Solution 会議室に投稿してしまい、
#会議室違いであることを教えていただきましたので、こちらで再投稿します。 #Java Solution 会議室もご覧になっている方、重複になって申し訳ありません。 VC++.NETで作ったActiveXコントロールとJavaScriptで値の受け渡し方法で悩んでいます。 JavaScriptからActiveXのメソッドを起動することはできました。↓こんな感じ。 <OBJECT ID="ClassicATLDiceControl" CLASSID="CLSID:xx〜xx"></OBJECT> <input type="button" onclick="click_button();" value="PUSH"> <script language="javascript"> <!-- function click_button() { ClassicATLDiceControl.RollDice(); } --> </script> 次に、ActiveXコントロールから何か値を受け取ろうと思い、ActiveXコントロール側に次のようなメソッドを作りました。 STDMETHODIMP CClassicATLDiceControl::get_FirstDiceValue(BSTR* param) { *param = CComBSTR(L"あいうえお"); return S_OK; } このメソッドからパラメータを受け取ろうと、次のようなJavaScriptを書きました。 function click_button2() { var a; ClassicATLDiceControl.get_FirstDiceValue( a ); alert( a ); } 特にエラーも無く動くのですが、値("あいうえお")は受け取れていません。調べたところによると、JavaScriptは値渡しになっているようなので、この方法ではダメなのでしょう。これを参照渡しにできれば受け取れるのかも?と思って色々調べてみているのですが、これといった情報に辿り着けません。 上記とは異なる方法でも構わないのですが、ActiveXコントロール側で生成した文字列や数値などを、JavaScriptに渡すにはどのようにすればよいか、どなたかご存知ありませんでしょうか?(ちなみに、この逆も知りたいです。JavaScriptの値をActiveXコントロールに渡す方法) よろしくお願いいたします。 |
1