2016-08-12 3 views
-1

여기에 stackoverflow과 같은 주제에 대한 Google 연구를 이미 수행했지만 문제에 대한 정답을 찾지 못했습니다. 내 응용 프로그램은 일부 클라이언트 PC에서는 잘 실행되지만 도구를 사용하려는 모든 시스템에서는 실행되지 않습니다.TWebbroser가 응용 프로그램 UI를 고정시킵니다. 디스크에서 HTML 파일을로드하십시오.

I는 웹 브라우저에 HTML 파일을로드하는 내 코드는 대부분의 조건에 대한 좋은 것 같아요 : 내 응용 프로그램의 동결에 이르게 경우 이러한 문제의 PC에 어떤 조건이 있어야합니다

MyWebBrowser.Navigate('about:blank'); 
MyWebBrowser.Navigate('file://' + Filename); 
while MyWebBrowser.ReadyState <> READYSTATE_COMPLETE do 
    application.ProcessMessages; 

하지만, 내 HTML 파일로 이동하는 동안.

내 문제를 해결하는 답변은 내 IE 설정에서 무언가를 검사하고 파일을로드하기 전에 이러한 매개 변수를 조정하지만 여기서 지식이 부족합니다.

답변

4

브라우저 컨트롤을 탐색 할 때 호출이 동 기적으로 완료된다고 가정하지 마십시오. 상대적으로 빠를 'about : blank'로 탐색 중이더라도 항상 OnNavigateComplete2 이벤트를 사용하십시오.

이벤트를 사용하면 Application.ProcessMessages으로 추한 바쁜 루프를 피할 수 있습니다 (또한 메서드에 대한 재 입력 요구 사항으로 인해 더 많은 문제가 발생하지 않도록 할 수 있습니다).

+0

나는 승리 7 x 64를 사용한다; DELPHi IDE 내 응용 프로그램이 충돌합니다. 직접 * .exe를 실행하면 내 HTML이 TWebbrowser에 표시됩니다. – user1769184