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