0

次のように、メソッドを C# mono にインポートしています (dom_document は webkit-sharp に実装されていないため)。

class ExtendedWebView : WebKit.WebView {
    [DllImport ("webkit-1.0")]
    private static extern IntPtr webkit_web_view_get_dom_document (IntPtr raw);

    public DOMDocument get_dom_document()
    {
        return new DOMDocument(webkit_web_view_get_dom_document(base.Handle));
    }
}

base.Handle は WebView オブジェクトへの IntPtr です。webkit_web_view_get_dom_document は返されません。私は別のスレッドでこれを呼び出しています。スレッドは無期限にハングします。

また、メソッド呼び出しを分離して、それがハングしていたことを確認しました。IntPtr を渡し、戻り値を IntPtr に割り当てました。返されないのは間違いなく webkit_web_view_get_dom_document です。

なぜこれが起こっているのか知っている人はいますか?間違ったバージョンの Webkit を使用している可能性がありますか? その方法はありませんか?

4

1 に答える 1