我已经对此问题进行了一些谷歌研究,例如stackoverflow ,但没有找到问题的正确答案。 我的应用程序在某些客户端PC上正常运行,但在我们想要使用我们的工具的所有系统上都没有。
我想我的用于将HTML文件加载到Web浏览器的代码对于大多数情况也是如此:
MyWebBrowser.Navigate('about:blank');
MyWebBrowser.Navigate('file://' + Filename);
while MyWebBrowser.ReadyState <> READYSTATE_COMPLETE do
application.ProcessMessages;
但是在这些问题PC上必须有一些条件导致我的应用程序在尝试导航到我的HTML文件时冻结。
我想解决我的问题的答案会检查我的IE设置上的内容并在加载文件之前调整这些参数但在这里我的知识已经用完了。
答案 0 :(得分:4)
导航浏览器控件时,永远不要假设呼叫同步完成。始终使用OnNavigateComplete2
事件,即使您正在导航到关于:空白&#39;应该相对较快。
使用该事件,您还可以避免使用Application.ProcessMessages
的丑陋忙碌循环(并且由于它对您的方法的重新引入要求而使您自己更加麻烦)。