TEdgeBrowserコンポーネントの環境設定(10.4.2 対応版)
対象となるIDEのバージョン
- Delphi/C++Builder/RAD Studio
目次
概要
10.4で「TEdgeBrowser」という新しいWebブラウザコンポーネントが追加されました。
TEdgeBrowserコンポーネントは、従来のTWebBrowserに代わるWebブラウザコントロールで、Microsoft Edge ChromiumベースのWebView2コントロールをラップしています。 このVCLコンポーネントは、既存のTWebBrowserに比べて多くの改善を提供します。
10.4.2では、既存のTEdgeBrowserコンポーネントの機能がアップデートされ、MicrosoftEdgeおよびMicrosoftEdgeWebView2ランタイムのGAバージョンで動作するようになりました。
このサポート情報では、10.4.2以降でTEdgeBrowserコンポーネントを利用するための環境設定について解説いたします。 こちらの古いTEdgeBrowserの環境設定の手順とは異なりますのでご注意ください。
まず、TEdgeBrowserを利用するためには、以下の3つのステップが必要です。
(Windows 10 (20H2)などの最新のOSバージョンを利用されている場合も同様)
環境設定
1. Web(Edge)View2 SDKのインストール
Edge(Web)View2 SDKをインストールする方法は、
- GetItパッケージマネージャ経由でインストール
- GetItCmdとRAD Studioコマンドプロンプトを介して(AutoGetItも使用可能)インストール
- getitcmd -ae -i=EdgeView2SDK-1.0.664.37
GetItを利用する以外にもマイクロソフト(nuget)のサイトからWebView2 SDKを入手方法もあります。最新版のWebView2 SDKを入手し、インストールする方法は、こちらを参照ください。
2. Microsoft WebView2 ランタイムのインストール
こちらのサイトからMicrosoft WebView2 ランタイムをダウンロードできます。
Microsoft WebView2 ランタイムは、3種類あります。
- エバーグリーン ブートストラップ(推奨):現在のアーキテクチャに合った最新バージョンのランタイムをダウンロードしてインストールします。アプリケーションと一緒にインストールする場合に使用します。
- Evergreen スタンドアロン インストーラー:Win32またはWin64向けののオフラインインストーラー
- 修正済みバージョン: Evergreenインストーラーが提供する最新バージョンではなく、(特定の)過去のバージョンをダウンロードしてインストールすることができます。
Microsoft WebView2ランタイムのインストールは、構築しているアプリケーションの種類によって異なります。Win32の場合はx86バージョン、Win64の場合はx64バージョン、Win32/Win64どちらも構築している場合は、両方をインストールしてください。
3. WebView2Loader.dllを任意のパスへ配置
WebView2Loader.dllは、アプリケーションからMicrosoft Edgeを利用するために必須のモジュールです。
(Edge)WebView2 SDKのインストールが完了しても、そのままの状態では、RAD Studioあるいは作成したアプリケーションからWebView2Loader.dllは参照できないので、任意の実行パスへ配置してください。これを行う最も簡単な方法は、プログラムから参照可能なパス(例えば、環境変数PATHが通っているパス)に手動で配置するか、以下のコマンドをプロジェクトオプションのビルド後イベントで使用することです。
- Win32向け: copy /y "$(BDS)¥Redist¥win32¥WebView2Loader.dll" "$(OUTPUTDIR)"
- Win64向け: copy /y "$(BDS)¥Redist¥win64¥WebView2Loader.dll" "$(OUTPUTDIR)"
アプリケーションをデプロイする際には、正しいWebView2Loader.dll
を含め、Microsoft WebView2 ランタイムがインストールされていることを確認する必要があります。WebView2Loader.dllはデフォルトでインストールされますが、最も簡単な方法は、エバーグリーン ブートストラップの使用をお勧めいたします。
TEdgeBrowserのサンプル
TEdgeBrowserコンポーネントを使用できるようになったら、実際に試してみましょう。
サンプルプログラムは、以下のパスに配置されています。
C++Builder:
C:\Users\Public\Documents\Embarcadero\Studio\21.0\Samples\CPP\VCL\WebBrowser\Edge
Delphi:
C:\Users\Public\Documents\Embarcadero\Studio\21.0\Samples\Object Pascal\VCL\WebBrowser\Edge
またTEdgeBrowserを利用して、任意のHTMLをレンダリング、そして任意のJavaScriptを実行し、WebページからHTMLソースを取得するサンブルプログラムがGitHub経由でこちらから入手できます。
なお、TWebBrowserからTEdgeBrowserへ移行する場合、注意すべき差違があるため、詳しくはこちらを参照ください。