ページ 11

ABのマーシャリング

Posted: 2006年8月29日(火) 01:58
by TK
EXEサーバーにクライアント(AB5)を接続してイベントを受け取るプログラムを書いています。
具体的に言うとWEBブラウザから現在のURLから他のURLへジャンプした時にURLを記録したいのです。
方法はエクスプローラのIWebBrowserへイベントハンドラを登録しておけばコールバックされます。
このコールバックされる側(クライアント)をABで実装しようとしています。

問題は、コールバックされるとクライアントのInvoke関数が呼び出されますが、どうやらブラウザからURLが渡ってきていないようです。

このinvoke関数に渡される第5パラメータdispparamsのrgvarg フィールド には、invokeからDISPIDで目的の関数を呼び出す際のVARIANT型のパラメータが入っています。
そのURLパラメーターに該当する部分を見ると、VARIANT型のポインタになっており、さらにそのポインタの中身はBSTRでした。
しかし、このBSTRがNULLなので渡って来ていないと判断しました。

これはABのマーシャリングがうまく行えていないからでしょうか?