Jump to content
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr ×
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr
  • 0

WebBrowser(Webview2) 관련문의입니다.


궁금한사람
 공유하기

질문

11버전 사용중입니다. 

현재 개발용 PC버전은 윈도우7이며 

1. WebBrowser 를 폼위에 올려놓구 

2. WindowsEngine 을 EdgeOnly 으로 설정후 

3. Webview2 Rentime Package 를 설치후에  사용시 

4. Edge browser engine is unavailable 메세지가 뜹니다. 

그러나 해당 내용을 동일하게 윈도우 10에서 실행시에는

정상적으로 동작합니다. 

혹시 원인이 뭔지 윈도우7에서는 Edge 엔진을 사용할 방법이 

없는지 궁금합니다.

(현재 환경은 VCL 이 아닌 FMX용으로 개발 진행중입니다. )

※ 당연히 윈도우 7 은 단종이라는건 잘알지만 현재 저희 프로그램을 쓰는곳중에 아직도 

윈도우 7이 많기 때문에 어쩔수 없이 적용을 해야됩니다.

 

 

확인부탁드립니다.

감사합니다.

 

K-20220125-630677.png

Edited by 궁금한사람
이 댓글 링크
다른 사이트에 공유하기

2 answers to this question

Recommended Posts

  • 0

윈도우 7에서 엣지 브라우저를 지원하지 않습니다.

해당 오류가 발생하는 원인은, 

1) InitBrowser에서 SEdgeBrowserEngineUnavailable 예외를 발생합니다.
    그 이유는 IsEdgeAvailable 메소드에서 False를 반환하기 때문입니다.

3) IsEdgeAvailable에서는 OS Version을 확인합니다. 메이저 버전이 7이상이어야 합니다.(윈도우 7은 6.1입니다.)

//==FMX.WebBrowser.Win.pas 파일 안에 있는 코드==
procedure TWindowsWebBrowserService.InitBrowser;
begin
...
    else if (FWindowsEngine = TWindowsEngine.EdgeOnly) and not IsEdgeAvailable then
      raise EBrowserEngineException.CreateRes(@SEdgeBrowserEngineUnavailable);
...
end;

//==FMX.Consts.pas 파일 안에 있는 코드==
  SEdgeBrowserEngineUnavailable = 'Edge browser engine is unavailable';

//==Winapi.EdgeUtils.pas 파일 안에 있는 코드==
function IsEdgeAvailable: Boolean;
begin
  Result := TOSVersion.Check(7) and CheckWebView2Loaded;
end;

윈도우 버전은 다음 링크에서 확인했습니다.

https://www.techthoughts.info/windows-version-numbers/

image.png

RTL 단에서 윈도우 버전을 확인하기 때문에 쉽사리 하위버전(윈도우 7등)을 지원하기 어렵다 판단됩니다.

이 내용은 FMX와 VCL 모두에 해당합니다.

 

 

이 댓글 링크
다른 사이트에 공유하기

  • 0

@궁금한사람 물론 개발 환경 내부 코드를 직접 변경해서 쓰는 것은 좋은 생각이 아닐 것입니다. 변경이 꼭 필요한 상황이 맞는지 생각해보고, 혹시라도 다른 방법이 있는 지를 몇번이고 생각해보고 결정하는 것이 좋겠습니다. 예를 들어서 Edge를 윈도우 7에서 반드시 써야하는지? IE와 Edge 중 가능하도록 코딩하기(예제 코드 보기) 로 해결할 수 있는지?...

 

@험프리 

On 2022. 1. 28. at 오후 8시 34분, 험프리 said:

RTL 단에서 윈도우 버전을 확인하기 때문에 쉽사리 하위버전(윈도우 7등)을 지원하기 어렵다 판단됩니다.

기술적인 면만 볼 때,  RTL이든 VCL이든 내장된 코드를 사용자가 수정해서 사용하는 것이 기술적으로는 가능하다는 것이 사실이 아닌가요?

이 댓글 링크
다른 사이트에 공유하기

이 토의에 참여하세요

지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.

Guest
이 질문에 답변하기...

×   서식있는 텍스트로 붙여넣기.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   이전에 작성한 콘텐츠가 복원되었습니다..   편집창 비우기

×   You cannot paste images directly. Upload or insert images from URL.

 공유하기

×
×
  • Create New...

중요한 정보

이용약관 개인정보보호정책 이용규칙 이 사이트가 더 잘 작동하기 위해 방문자의 컴퓨터에 쿠키가 배치됩니다. 쿠키 설정 변경에서 원하는 설정을 할 수 있습니다. 변경하지 않으면 쿠키를 허용하는 것으로 이해합니다.