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

TWebBrowser를 사용하고 있습니다. 인터넷 익스플로러가 2022년 6월 15일 부로 지원 종료된다는데, 어떻게 대비하면 좋을까요?


질문있어요

질문

마이크로소프트에서 인터넷 익스플로러가 2022년 6월 15일 부로 지원 종료한다고 발표했습니다. 관련 링크:
https://blogs.windows.com/wp-content/uploads/prod/sites/2/2021/05/Microsoft-Edge_Korean-Blog-and-FAQ-1.pdf 

델파이에서 TWebBrowser를 사용 중인데 어떻게 대비하면 좋을까요?

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

1 answer to this question

Recommended Posts

  • 2
On 2021. 6. 21. at 오후 4시 42분, 질문있어요 said:

마이크로소프트에서 인터넷 익스플로러가 2022년 6월 15일 부로 지원 종료한다고 발표했습니다. 관련 링크:
https://blogs.windows.com/wp-content/uploads/prod/sites/2/2021/05/Microsoft-Edge_Korean-Blog-and-FAQ-1.pdf 

델파이에서 TWebBrowser를 사용 중인데 어떻게 대비하면 좋을까요?

델파이는 마이크로소프트의 발표에 맞추어 10.4 버전부터 TEdgeBrowser라는 새 컴포넌트가 추가되었으며, 기존의 TWebBrowser에는 기존 엔진과 TEdgeBrowser 엔진이 모두 탑재되었습니다. 10.4 버전 이상에서 다음 2가지 옵션 중 신중하게 한가지를 사용하여 대비할 수 있습니다.

목차


어느 옵션을 선택하든 유의해야 할 사항

물론 두 경우 모두, IE와 Edge의 공통점과 차이점을 알고 (혹시 필요한 경우) 일부 코드를 변경해야할 수도 있습니다. 
관련 Docwiki 도움말(TWebBrower 유지 시, 특히 6~8번 항목 유의)
http://docwiki.embarcadero.com/RADStudio/Sydney/en/Using_TEdgeBrowser_Component_and_Changes_to_the_TWebBrowser_Component

혹시, 특정 런타임을 지정해서 작동시키고자 하면 환경 변수를 설정하여야 합니다.
관련 마이크로소프트 도움말:
https://docs.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/webview2-idl?view=webview2-1.0.774.44#createcorewebview2environmentwithoptions

옵션 1. TWebBrowser 컴포넌트를 TEdgeBrowser로 교체하기

  • 델파이 10.4버전에서 TWebBrowser 컴포넌트를 아예 TEdgeBrower로 교체합니다.
  • 기술 부채가 없고, 가장 깔끔한 미래 지향적인 방식입니다.
  • 조건: 컴포넌트 교체 작업이 필요

 

옵션 2. TWebBrowser를 유지한 채, 엔진을 Internet Explorer에서 Edge로 변경하기

  • 델파이 10.4버전에서 TWebBrowser의 SelectedEngine 속성을 사용하여 웹브라우저 엔진을 선택할 수 있습니다. 이 속성을 이용하여 Internet Explorer (IE) 대신 Edge를 선택하면 됩니다. 
  • 코드가 방대하다면(TWebBrowser를 TEdgeBrowser로 교체하기 힘들다면), TWebBrowser를 유지하는 옵션도 나쁘지 않습니다. 
  • 조건: 상황에 맞게 2 단계 코드 변경 작업이 필요 (아래 코드 변경 예시 참조)

 

옵션 2 선택 시 코드 변경 작업 예시

ActiveEngine 속성에 따른 조건문 사용:

// IE 엔진 기반의 기존 코드를 유지하면서, Edge 엔진에 적용될 (IE와의 차이점이 고려된) 코드 블록을 추가
// [2단계로 진행(TWebBrower에서 사용하는 엔진 옵션 변경)]
// 1단계(IE 배제 전) Edge 사용 우선: (Edge 엔진용) 새 코드 블록 추가 완료 후, SelectedEngine 속성을 EdgeIfAvailable로 바꾸고 다시 컴파일/배포
// 2단계(IE 배제 시) Edge 만 사용: SelectedEngine 속성을 EdgeOnly으로 바꾸고 다시 컴파일/배포
If ( WebBrowser1.ActiveEngine  = TWebBrowser.TActiveEngine.IE) then
begin
// 기존 코드
end
else
  if ( WebBrowser1.ActiveEngine  = TWebBrowser.TActiveEngine.Edge) then
  begin
  // 새 코드 (Edge 엔진용) 추가 
  end;
end;

실제로 TWebBrowser 안에는 TEdgeBrower가 들어있습니다. 따라서 TWebBrowser의 SelectedEngine 속성을 EdgeOnly 또는 EdgeIfAvailable로 지정하여 개발하면, TWebBrowser에 내장된 TEdgeBrower가 작동됩니다. 즉 개발자가 TEdgeBrower 컴포넌트를 직접 사용한 것과 같습니다. 이 경우, 명시적으로 TWebBrowser를 TEdgeBrower로 바꾸지 않아도 된다는 장점이 있습니다.

마이크로소프트에서 2029년까지 Edge에서 IE호환 모드를 지원한다고는 하지만, IE가 사라지는 가장 큰 이유 중 하나가 보안이므로, 마이크로소프트에서 지원을 지속하는 엣지 (Edge) 브라우저를 사용하는 것이 더 안전한 선택입니다.

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

이 토의에 참여하세요

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

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...

중요한 정보

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