|
>●WebView2の場合
>1.GetIDsOfNames
>2.GetTypeInfoCount 0個でS_OK
>3.Invoke プロパティ
> wFlags = DISPATCH_PROPERTYGET
> 0x2
> パラメータ0個
> DISP_E_MEMBERNOTFOUND 0x80020003(メンバが見つかりません)を返すと、4.の
>メソッドで再試行される
>4.Invoke メソッド
> wFlags = DISPATCH_METHOD
> 0x1
> パラメータ個数正常
うーむ、なんででしょうねぇ。うーむ。
(前の投稿でgithubに上げたものは .NET5ではなく、[アドレスからもわかる通り].NE
T6 のものですが、.NET8でも動作などは変化はありません)
C++/C#側から(WebViewをコントロールしている側から)、AddHostObjectToScript を
経由してJS空間へと登録した
COMコンポーネントについては、(チェックしてないですが常識的に考えて)メソッド
も動作しているでしょうに、何が違うんだろ
(それらのソース見てる分には特別なアトリビュートとか付けてないんですよねー)
まぁとりあえず、プロパティのget/set が機能するなら、
FuncArg1プロパティ、FungArg2プロパティ、Funcプロパティとか用意すれば、
function abc(arg1, arg2) {
com.FuncArg1 = arg1;
com.FuncArg2 = arg2;
return com.Func;
}
みたいにすれば機能するといえば、機能するので、まぁなんとかなってるんでないの、
と言えなくはないレベルだとは思います。
(呼び出し部分だけの問題で、そこから先は普通に.NETによる制作のしやすさの恩恵
があるなら上記ハンデ程度なら傷は浅い)
|
|