자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Firemonkey XE6 TWebBrowser 종료안됨 현상
2014.07.04 00:25
안녕하세요.
가을이다 입니다.
예전에 델파이7 로 윈도우 개발할때에는 별 문제도 안됬던 현상들이 XE6모바일로 개발하면서
여러가지 문제에 봉착하게 되네요.. ㅠㅠ
데브기어 Q&A를 관리해주시는 관리자님께서는, 물론 지금까지도 잘 해주시기도 하지만,
이런 개발자들의 어려움에 대해 앞으로도 게시판 답변을 잘 부탁드립니다.
제가 질문드릴것은, 이번에 회원가입폼을 만들면서 가입버튼위에 [이용약관] 을 클릭했을때에
[이용약관] 을 사용자에게 보여주는것입니다.
아주 간단한 부분이지만, 실제로는 문제가 있습니다.
[이용약관] 문서가 TXT 파일로 40kb 정도 됩니다. 이 문서는 서버FTP에 있고 idHttp 로 가져와서
화면에 표현하려고 합니다. 그런데 잘 가져오기는 하나.. 화면에 표시할때에 TMemo 로 표시했더니
TMemo가 버벅거리면서 스크롤도 잘 안되더군요..
간단한 글씨는 잘 표현하지만, 40kb 정도되는 (그리크지도 않지요..) 텍스트파일을 보여줄때에는 버벅거림이
심해서, 이 방법은 포기했습니다. 물론 윈도우에서는 잘돌아갑니다.. 안드로이드-앱에서 문제죠.
그래서 두번째 방법으로 웹브라우저를 탑재해서 웹브라우저 URL 에서 바로 해당 주소를 링크시켜 보여주는 방법입니다.
잘 됩니다. 네이티브 웹브라우저를 사용해서 그런지 , 스크롤도 버벅임없이 엄청잘됩니다.
그런데 여기서 또 문제가 발생됩니다.
Frame(프레임) 을 써서 프레임안에 웹브라우저를 탑재한것이고 메인폼에서 동적으로 프레임을 써서
웹브라우저에서 URL을 로딩했는데..
문제는 이 프레임이 웹브라우저 때문에 종료가 안된다는 것입니다.
FrameWeb.Parent := nil;
FrameWeb.DisposeOf;
FrameWeb:= nil;
물론, 종료안하고 그냥 Visible = true / false 로 관리할수 도 있지만, 사용이 다 끝난 폼을 계속 메모리상에
두는 것도 찜찜하더군요..
웹브라우저를 깔끔하게 종료할 수 있는방법을 알려주세요!!
댓글 2
Firemonkey XE6 TWebBrowser 종료안됨 현상
2014.07.04 00:25
안녕하세요.
가을이다 입니다.
예전에 델파이7 로 윈도우 개발할때에는 별 문제도 안됬던 현상들이 XE6모바일로 개발하면서
여러가지 문제에 봉착하게 되네요.. ㅠㅠ
데브기어 Q&A를 관리해주시는 관리자님께서는, 물론 지금까지도 잘 해주시기도 하지만,
이런 개발자들의 어려움에 대해 앞으로도 게시판 답변을 잘 부탁드립니다.
제가 질문드릴것은, 이번에 회원가입폼을 만들면서 가입버튼위에 [이용약관] 을 클릭했을때에
[이용약관] 을 사용자에게 보여주는것입니다.
아주 간단한 부분이지만, 실제로는 문제가 있습니다.
[이용약관] 문서가 TXT 파일로 40kb 정도 됩니다. 이 문서는 서버FTP에 있고 idHttp 로 가져와서
화면에 표현하려고 합니다. 그런데 잘 가져오기는 하나.. 화면에 표시할때에 TMemo 로 표시했더니
TMemo가 버벅거리면서 스크롤도 잘 안되더군요..
간단한 글씨는 잘 표현하지만, 40kb 정도되는 (그리크지도 않지요..) 텍스트파일을 보여줄때에는 버벅거림이
심해서, 이 방법은 포기했습니다. 물론 윈도우에서는 잘돌아갑니다.. 안드로이드-앱에서 문제죠.
그래서 두번째 방법으로 웹브라우저를 탑재해서 웹브라우저 URL 에서 바로 해당 주소를 링크시켜 보여주는 방법입니다.
잘 됩니다. 네이티브 웹브라우저를 사용해서 그런지 , 스크롤도 버벅임없이 엄청잘됩니다.
그런데 여기서 또 문제가 발생됩니다.
Frame(프레임) 을 써서 프레임안에 웹브라우저를 탑재한것이고 메인폼에서 동적으로 프레임을 써서
웹브라우저에서 URL을 로딩했는데..
문제는 이 프레임이 웹브라우저 때문에 종료가 안된다는 것입니다.
FrameWeb.Parent := nil;
FrameWeb.DisposeOf;
FrameWeb:= nil;
물론, 종료안하고 그냥 Visible = true / false 로 관리할수 도 있지만, 사용이 다 끝난 폼을 계속 메모리상에
두는 것도 찜찜하더군요..
웹브라우저를 깔끔하게 종료할 수 있는방법을 알려주세요!!
우선, 꾸준한 시도에 감사드립니다.^^
먼저 TMemo를 이용하실 경우 ReadOnly 속성을 True로 사용하시면 편집에 대한 영향이 없어 더 빠르게 보여줄 수 있습니다.
그리고 프레임이 해제가 되지 않는 것은
말씀을 참고하면 웹브라우저가 내려가지 않아서 인것 같습니다.
어떤 웹브라우저를 사용했는지 모르겠지만 웹브라우저를 먼저 해제하셔야 할 것 같습니다.