EXEサーバーにクライアント(AB5)を接続してイベントを受け取るプログラムを書いています。
具体的に言うとWEBブラウザから現在のURLから他のURLへジャンプした時にURLを記録したいのです。
方法はエクスプローラのIWebBrowserへイベントハンドラを登録しておけばコールバックされます。
このコールバックされる側(クライアント)をABで実装しようとしています。
問題は、コールバックされるとクライアントのInvoke関数が呼び出されますが、どうやらブラウザからURLが渡ってきていないようです。
このinvoke関数に渡される第5パラメータdispparamsのrgvarg フィールド には、invokeからDISPIDで目的の関数を呼び出す際のVARIANT型のパラメータが入っています。
そのURLパラメーターに該当する部分を見ると、VARIANT型のポインタになっており、さらにそのポインタの中身はBSTRでした。
しかし、このBSTRがNULLなので渡って来ていないと判断しました。
これはABのマーシャリングがうまく行えていないからでしょうか?