- 1 名前:IUnkonwn mailto:sage [2007/01/10(水) 20:13:15 ]
- いざ語れや
- 78 名前:デフォルトの名無しさん [2007/05/08(火) 17:48:04 ]
- もう一役お願いします。
イベントを作成したのですが、イベントがクライアントに届きません。 Fire_Hogeを呼びだすときデバッガで追ったら int nConnections = m_vec.GetSize(); で0が帰ってきて その下のループの中のpDispatch->Invokeまでいきません。 ソフトの構成としてはアウトプロセスサーバ.exeからブラウザのjavascriptへイベントを発生したいのですが、上記の通りとなり、イベントを渡すことができませんでした。 m_vecが接続を管理するらしいのですが、javascriptからの接続がうまくないのでしょうか? 接続の方法としては<OBJECT>タグにCLSIDを埋め込むようにしてjavascriptでサーバ.exeのメソッドを呼び出すことは成功しています。
- 79 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 18:41:37 ]
- javascriptからEventをAdviseしてあげた?
- 80 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 20:21:50 ]
- >>78
Fire_Hoge()の呼び出しってどうやってます? 多分IHogeの実装クラスCHogeのインスタンスから呼び出してると思いますが、 COMクライアントが作ったCHogeインスタンスから呼ばないとFireできないっす
- 81 名前:80 mailto:sage [2007/05/08(火) 20:30:56 ]
- 補足:
インターフェースをシングルトンにしとけば作成されるインスタンスは必ず一つなので、 いっそシングルトンにしてしまうとか つ DECLARE_CLASSFACTORY_SINGLETON ただこれをやると以下の問題も・・・ つ support.microsoft.com/kb/198834/ja 後は泥臭いやり方しか知らない
- 82 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 21:07:42 ]
- こんな感じなんですが・・・ EventをAdviseとはどのようなことをするのでしょうか?
<SCRIPT language="javascript" for="HogeID" event="HogeEvents(a, b)"> alert(a); </SCRIPT> <OBJECT ID="HogeID" CLASSID="CLSID:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"> </OBJECT> Adviseをお願いします。
- 83 名前:デフォルトの名無しさん [2007/05/08(火) 21:08:40 ]
- >>80のアンカー間違えました。>>79が正解です
- 84 名前:デフォルトの名無しさん [2007/05/08(火) 21:14:49 ]
- >>82は>>79に対するレスです。
>>83は誤爆です。 >>80,81 ありがとうございます。 参考にさせていただき再び試行錯誤させていただきます。
- 85 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 21:21:59 ]
- >>80
書き忘れましたが、Fire_Hoge()の呼び出しはは ブラウザ(HTMLに記述したjavascript)からCHoge.exeのメソッドを呼び出して 呼び出されたメソッドの中でFire_Hoge()を呼んでいます。
|

|