Здравствуйте.
Я написал с помощью ATL примочку к Internet Explorer'у. Но возникла такая проблема.
Дело вот в чем:
Во время выполнения я создаю popup окошко в котором показываю свою страницу.
Окно я создаю обычными APIшными функциями, а потом (для отображения страницы)
создаю ActiveX конрол WebBrowser'a с помощью функции AtlAxCreateControl. Все работает нормально,
но проблема заключается в том, что после закрытия Internet Explorer'а вылетает Access Violation.
в эксплодере или в файле atlhost.h в строке 506 (функция ReleaseAll) вот в этом месте:
if (m_spOleObject)
{
m_spOleObject->Unadvise(m_dwOleObject);
>>>>>>> m_spOleObject->Close(OLECLOSE_NOSAVE);
m_spOleObject->SetClientSite(NULL);
}
Может кто-то сталкивался с подобной проблемой. Подскажите, что делать и куда копать.
P.S. Самое интересное, что если не вызывать Naviagte у браузера в окне, то бага не лезет.
Здравствуйте, <Аноним>, Вы писали:
А>но проблема заключается в том, что после закрытия Internet Explorer'а вылетает Access Violation.
А>в эксплодере или в файле atlhost.h в строке 506 (функция ReleaseAll) вот в этом месте:
А>А> if (m_spOleObject)
А> {
А> m_spOleObject->Unadvise(m_dwOleObject);
>>>>>>>> m_spOleObject->Close(OLECLOSE_NOSAVE);
А> m_spOleObject->SetClientSite(NULL);
А> }
А>
А>Может кто-то сталкивался с подобной проблемой. Подскажите, что делать и куда копать.
А>P.S. Самое интересное, что если не вызывать Naviagte у браузера в окне, то бага не лезет.
Похоже что m_spOleObject указывает на уже разрушеный обьект.
Это может быть если ты лешний раз вызвал Release() для бровзера.
... << RSDN@Home 1.1.3 stable >>
Здравствуйте, Vish, Вы писали:
V>Здравствуйте, <Аноним>, Вы писали:
А>>но проблема заключается в том, что после закрытия Internet Explorer'а вылетает Access Violation.
А>>в эксплодере или в файле atlhost.h в строке 506 (функция ReleaseAll) вот в этом месте:
А>>А>> if (m_spOleObject)
А>> {
А>> m_spOleObject->Unadvise(m_dwOleObject);
>>>>>>>>> m_spOleObject->Close(OLECLOSE_NOSAVE);
А>> m_spOleObject->SetClientSite(NULL);
А>> }
А>>
А>>Может кто-то сталкивался с подобной проблемой. Подскажите, что делать и куда копать.
А>>P.S. Самое интересное, что если не вызывать Naviagte у браузера в окне, то бага не лезет.
V>Похоже что m_spOleObject указывает на уже разрушеный обьект.
V>Это может быть если ты лешний раз вызвал Release() для бровзера.
Не. Прикол оказался в том, что у меня стоял Регет. И этот самый Регет при завершении глючил.
Хотя я с трудом понимаю, причем тут он... Может это совпадение ?