Navigate2方法返回S_OK Stuck到READYSTATE_LOADING的READYSTATE

时间:2010-05-06 15:07:58

标签: mfc iwebbrowser2 docview readystate

我正在开发一个MFC Document View架构应用程序,它有多个文档和视图以及一个标签式窗口界面。

我的任务是在另一个选项卡中按下OK按钮,自动切换到另一个选项卡。单击其他选项卡时,它使用IWebBrowser2上的C ++包装器导航到特定网页。

当通过单击选项卡手动完成此操作时,一切正常,视图中的网页加载成功。

在我第一次尝试这样做时,标签成功切换以响应对

的调用
 AfxGetMainWnd()->SendMessageToDescendants(SOME_MESSAGE, ...);

然而,通过在错误的点发送此窗口消息,一旦控件返回,应用程序就会崩溃,因为事件链导致(无模式)对话框(*) 发送消息,不再存在。

然后我找到了拨打电话的正确位置,但现在当其他标签被激活时,它不再显示网页。

为了调试这个问题,我添加了代码来检查READYSTATE的工作情况和不工作的情况。当页面加载失败时(尽管调用Navigate2返回S_OK),READYSTATE只停留在READYSTATE_LOADING。

不幸的是,现在,当我将其部分工作时,我会进行许多编辑。

我已将TRACE语句添加到最明显的事件中,例如OnSetFocus,CView :: OnActivateView,但所有跟踪都以相同的顺序出现,尽管行为不同

*托管在视图中

0 个答案:

没有答案