TEdgeBrowser 导航失败并出现错误 "File not found"
TEdgeBrowser Navigate fails with error "File not found"
我第一次尝试新 TEdgeBrowser
失败并显示“系统找不到文件”
procedure TFrmTEdgeBrowser.BtnNavigateClick(Sender: TObject);
var lErrCode: Integer;
begin
if not EdgeBrowser.Navigate('https://www.google.com') then
begin
lErrCode := EdgeBrowser.LastErrorCode;
ShowMessage(IntToStr(lErrCode) + ': ' + SysErrorMessage(lErrCode));
end;
end;
错误代码 -2147024894 = $80070002 ERROR_FILE_NOT_FOUND
顺序(例如根据https://www.delphipraxis.net/204266-new-vcl-tedgebrowser-component-coming-rad-studio-10-4-a.html or http://docwiki.embarcadero.com/RADStudio/Sydney/en/Using_TEdgeBrowser_Component_and_Changes_to_the_TWebBrowser_Component):
- 新的 Win10 VM,启动 Edge,win 安装程序 运行s 并正确安装 Edge
- 通过GetIt下载并安装Edgeview2 SDK
- 复制
c:\Program Files (x86)\Embarcadero\Studio.0\Redist\win32\WebView2Loader.dll
到应用目录
配置:Delphi10.4.3 Sydney,运行在 Win10 VM 中安装 32 位应用程序,安装 Edge 84.0.522.52
尝试:前面没有 https:
,重新启动,试图从 TApplicationEvents.OnException
获取更多信息
然后我尝试 运行 演示 c:\Users\Public\Documents\Embarcadero\Studio.0\Samples\Object Pascal\VCL\WebBrowser\Edge\EdgeBrowser.dproj
(将 dll 也复制到该目录中)但是这给出了从它的末尾开始的初始化错误:
procedure TfrmMain.EdgeBrowserCreateWebViewCompleted(Sender: TCustomEdgeBrowser; AResult: HResult);
begin
{$IFDEF DEBUG}
OutputDebugString('EdgeBrowser OnCreateWebViewCompleted');
{$ENDIF}
if Succeeded(AResult) then
begin
tbCancel.Enabled := True;
tbReload.Enabled := True;
tbGo.Enabled := True;
edtAddress.Enabled := True;
Sender.AddWebResourceRequestedFilter('*', COREWEBVIEW2_WEB_RESOURCE_CONTEXT_IMAGE);
end
else
begin
if AResult = HResultFromWin32(ERROR_FILE_NOT_FOUND) then
Application.MessageBox('Could not find Edge installation. ' +
'Do you have a version installed that''s compatible with this WebView2 SDK version?',
'Edge initialisation error', MB_OK or MB_ICONERROR)
else
Application.MessageBox('Failed to initialise Edge browser control',
'Edge initialisation error', MB_OK or MB_ICONERROR)
end;
end;
但现在 AResult 是 -2147467259 = $80004005
这似乎是 data/ODBC 相关的。
更新到 Microsoft.Web.Webview2 的更高版本 0.9.579(2020 年 7 月 20 日)没有帮助。
我下载了 Edge 的测试版并为我修复了它。
我使用的是 84.0.522.59 版本(正式版)(64 位),遇到了和你一样的问题。
我下载的版本是85.0.564.30(正式版)beta(64位)。
另外,我回顾了文档,它说要获取金丝雀通道版本。所以当我下载测试版时,我假设金丝雀版本是你应该下载的,并且也会解决问题。
The Microsoft Edge Chromium-based browser currently available from
https://www.microsoftedgeinsider.com/download (Canary channel
version whilst the WebView2 SDK is in pre-release, currently the
minimum required version is 82.0.430.0).
我第一次尝试新 TEdgeBrowser
失败并显示“系统找不到文件”
procedure TFrmTEdgeBrowser.BtnNavigateClick(Sender: TObject);
var lErrCode: Integer;
begin
if not EdgeBrowser.Navigate('https://www.google.com') then
begin
lErrCode := EdgeBrowser.LastErrorCode;
ShowMessage(IntToStr(lErrCode) + ': ' + SysErrorMessage(lErrCode));
end;
end;
错误代码 -2147024894 = $80070002 ERROR_FILE_NOT_FOUND
顺序(例如根据https://www.delphipraxis.net/204266-new-vcl-tedgebrowser-component-coming-rad-studio-10-4-a.html or http://docwiki.embarcadero.com/RADStudio/Sydney/en/Using_TEdgeBrowser_Component_and_Changes_to_the_TWebBrowser_Component):
- 新的 Win10 VM,启动 Edge,win 安装程序 运行s 并正确安装 Edge
- 通过GetIt下载并安装Edgeview2 SDK
- 复制
c:\Program Files (x86)\Embarcadero\Studio.0\Redist\win32\WebView2Loader.dll
到应用目录
配置:Delphi10.4.3 Sydney,运行在 Win10 VM 中安装 32 位应用程序,安装 Edge 84.0.522.52
尝试:前面没有 https:
,重新启动,试图从 TApplicationEvents.OnException
然后我尝试 运行 演示 c:\Users\Public\Documents\Embarcadero\Studio.0\Samples\Object Pascal\VCL\WebBrowser\Edge\EdgeBrowser.dproj
(将 dll 也复制到该目录中)但是这给出了从它的末尾开始的初始化错误:
procedure TfrmMain.EdgeBrowserCreateWebViewCompleted(Sender: TCustomEdgeBrowser; AResult: HResult);
begin
{$IFDEF DEBUG}
OutputDebugString('EdgeBrowser OnCreateWebViewCompleted');
{$ENDIF}
if Succeeded(AResult) then
begin
tbCancel.Enabled := True;
tbReload.Enabled := True;
tbGo.Enabled := True;
edtAddress.Enabled := True;
Sender.AddWebResourceRequestedFilter('*', COREWEBVIEW2_WEB_RESOURCE_CONTEXT_IMAGE);
end
else
begin
if AResult = HResultFromWin32(ERROR_FILE_NOT_FOUND) then
Application.MessageBox('Could not find Edge installation. ' +
'Do you have a version installed that''s compatible with this WebView2 SDK version?',
'Edge initialisation error', MB_OK or MB_ICONERROR)
else
Application.MessageBox('Failed to initialise Edge browser control',
'Edge initialisation error', MB_OK or MB_ICONERROR)
end;
end;
但现在 AResult 是 -2147467259 = $80004005
这似乎是 data/ODBC 相关的。
更新到 Microsoft.Web.Webview2 的更高版本 0.9.579(2020 年 7 月 20 日)没有帮助。
我下载了 Edge 的测试版并为我修复了它。
我使用的是 84.0.522.59 版本(正式版)(64 位),遇到了和你一样的问题。
我下载的版本是85.0.564.30(正式版)beta(64位)。
另外,我回顾了文档,它说要获取金丝雀通道版本。所以当我下载测试版时,我假设金丝雀版本是你应该下载的,并且也会解决问题。
The Microsoft Edge Chromium-based browser currently available from https://www.microsoftedgeinsider.com/download (Canary channel version whilst the WebView2 SDK is in pre-release, currently the minimum required version is 82.0.430.0).