Закрытие WebBrowser.
Добавлено: 03 ноя 2005, 16:01
В немодальном диалогов окне размещён WebBrowser. Это окно надо уничтожать сразу при его закрытии. Это я делаю так:
Это всё работает.
Но мне также надо анализировать содержимое загруженой страницы, что я начинаю делать сразу после загрузки страницы в обработчике браузера DocumentComplete.
Ели содержимое страницы меня неустроит, то я должен уничтожить диалог. Что я делаю снова же вызовом DestroyWindow():
Ну вот после такого кода, у меня и вылетает прога с "Unhandled exception in TestWBDestroy.exe (SHLWAPI.DLL): 0xC0000005: Access Violation.".
Поэтому поводу, собственно, и вопрос. Что я не так делаю? И, когда можно уничтожать этот диалог?
Код: Выделить всё
void CDialogWB::OnOK()
{
CDialog::OnOK();
DestroyWindow();
}
void CDialogWB::OnCancel()
{
CDialog::OnCancel();
DestroyWindow();
}
void CDialogWB::OnClose()
{
CDialog::OnClose();
DestroyWindow();
}
Но мне также надо анализировать содержимое загруженой страницы, что я начинаю делать сразу после загрузки страницы в обработчике браузера DocumentComplete.
Ели содержимое страницы меня неустроит, то я должен уничтожить диалог. Что я делаю снова же вызовом DestroyWindow():
Код: Выделить всё
void CDialogWB::OnDocumentCompleteExplorer1(LPDISPATCH pDisp, VARIANT FAR* URL)
{
BOOL bDestroy = TRUE;
// ... Анализ содержимого страницы
if (bDestroy)
DestroyWindow();
}
Поэтому поводу, собственно, и вопрос. Что я не так делаю? И, когда можно уничтожать этот диалог?