メインコンテンツへスキップ

コンポーネントに.NETコントロールを追加

コメント

9件のコメント

  • vg

    基本的な.net連携はオンラインマニュアルの.NETチュートリアル Magic xpaが参考になるかと思います。

    と、ちょっとやってみたんですが、こちらではうまくいきませんでした。

    手順的には
    ・コンポーネントの一覧に乗ってこなかったのでDLL探して直接指定してコンポーネント追加
    ・.net型の変数のオブジェクトタイプをそれっぽいのを指定する
    ・URIをセットする
    ・項目一覧からフォームに張り付ける

    フォームに張り付けるまではできるんですけど、何も表示されてません。
    Microsoft.Web.WebView2.WinFormsのWebView2を使ってみてたんですが
    オブジェクトタイプが間違っているのか他の原因があるのか
    .netも素人なので何が原因かわかりませんでしたので、詳しい方ぜひフォロー入れていただければ。

    古い方のbrowserコントロールならこれでいけてたんですが・・

    開発環境:Magic Xpa 4.8   Xpa 2.3
    OS:Windows11

     

  • kopanda

    vg様、返信ありとうございます!

    しかも操作までやってみていただき、本当にありがとうございます。

    やっていただいた手順と同じ手順で私もやってみました。

    確かにWebBrowserでは表示されるのですが、WebView2の方は、何も表示されません。

    実行すると、フォームの色と同化しているのか、コントロール自体が画面に表示されているのかもわかりません。

     

    何か情報をお持ちの方がいらっしゃれば、引き続きよろしくお願い致します。

     

  • kopanda

    解決しました!

     

    「WebView2Loader.dll」(32bit用)を、コンポーネントに追加したdllと同じフォルダにコピーしたら、表示されるようになりました。

     

  • dai

    kopanda様

    質問に質問を返してしまって申し訳ありませんが解決されたようなのでぜひ手順をお聞きしたいです。

    私も以前からWebView2を使用してブラウザを表示させようと試みていましたが挫折しておりました。

    ①NuGet CLIを使用してパッケージをダウンロード
    ②XpaコンポーネントにWebView2.Core、WebView2.WinForm、WebView2.Wpfのdllを読み込み
    ③.Net型の変数を作成してオブジェクトタイプにMicrosoft.Web.WebView2.WinForms.WebView2を選択
    ④フォームに.Netコントロールを貼り付けて作成した変数を.Netオブジェクトに指定
    ここまでが正解かもわかりませんが、URIの指定などここから先が手詰まり状態です。

    よろしければご教授下さい。

  • Tanda

    いちばんいいのは、Magicの「ブラウザコントロール」がChromiumベースになってくれることですね。

    「ブラウザコントロール2」とかができて、対応されるといいですね。

  • kopanda

    dai様 こんにちは。

     

    ②XpaコンポーネントにWebView2.Core、WebView2.WinForm、WebView2.Wpfのdllを読み込み

     

    ここで読み込んだdllが格納されているフォルダに

    「WebView2Loader.dll」(32bit用)

    これをコピーしてみてください。(このdllは、Magicのコンポーネントの追加は不要です。)

    他の手順は、dai様が書かれた手順で大丈夫だと思います。

    あとは、

    DNSet([作成したWebView2の変数].Source, DotNet.System.Uri('https://www.yahoo.co.jp/') )

    これでURIの指定をして、表示できました。

     

    実はまだ環境により、表示されたり、表示されなかったりしています。

    私の開発環境は、Windows10なのですが、WindowsUPDATEはしないようにしており、ちょっと古いままになっていました。

    この状態だと、表示されなかったのですが、意を決してバージョン「20H2」へ上げたところ、表示されるようになりました。

    .NETFrameworkも4.8に上がったので、何で表示されるようになったのか、まだ手探り中です。。。

     

     

    tanda様 こんにちは。

    Magicのブラウザコントロールが使えれば使いたかったのですが、今回対応している環境が「XPA3.2」のため、使えませんでした;;

     

  • Tanda

    そういえば、ブラウザコントロールはxpa 3.2ではRIAだけの対応でしたね。

  • dai

    kopandaさん、できました~~~( ;∀;)
    System.Uriが出ないと思ったらコンポーネントにSystemも読み込む必要ありましたね。
    ここで読み込んだdllが格納されているフォルダに「WebView2Loader.dll」(32bit用)をコピー。これを導き出されたのが凄いです。海外サイトを見ながら試行錯誤してましたがフォーラムで質問するのが一番ですね。ありがとうございましたm(_ _)m

    tandaさん
    ですです。会社でxpa4.8開発版を今年購入したのでブラウザコントロールで一発だったのですが、どうしてもwebview2で表示させたくて頑張ってました。

  • kopanda

    daiさん、表示できてよかったです~!

    私と同じ問題で困っている方のお役に立てて、よかったです。

    最初に表示できた時の達成感がたまりませんね(^-^)

     

サインインしてコメントを残してください。