Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > Visual Basic: Общие вопросы > Ошибка объекта IE


Автор: BlackSun 15.12.19, 22:05
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
        Set IE = CreateObject("InternetExplorer.Application")
        IE.Toolbar = False
        IE.Silent = True


Win 10. Иногда в проге c объектом IE вылетает пару ошибок. Далее невозможно ни закрыть окно IE, ни завершить прогу. Только убить через Диспетчер задач. В диспетчере появляется с десяток экземпляров IE, хотя, на компе работают 2 проги = 2 экземпляра IE.

Скрины ошибок ниже. От чего возникают эти ошибки и с чем они связаны?
Clipboard02.gif (, : 1575)
Clipboard03.gif (, : 4030)

Добавлено
М.б. ошибка вылетает на IE.navigate, этот вызов у меня не обрабатывается.

Добавлено
А может и тут:

<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    Private Sub IE_DocumentComplete(ByVal pDisp As Object, URL As Variant)
        
        PageHTML = LCase(IE.document.body.innerHTML)
    End Sub


Добавлено
Если бы стоял WebBrowser - этих проблем не было бы. Для IE нужно каждое действие обрабатывать на ошибку?

Автор: BlackSun 17.12.19, 13:42
В целом, в какой-то момент происходит конфликт между объектами IE в обоих приложениях. Когда работает одна программа - всё идёт гладко. Когда обе - ошибки. Значит, что-то не то в создании объекта IE.

Добавлено
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    Private WithEvents IE As SHDocVw.InternetExplorer
    Private WithEvents IEDoc As MSHTML.HTMLDocument
     
    Private Sub Form_Initialize()
        CreateIE True
    End Sub
     
    Private Sub CreateIE(fVisible As Boolean)
        Set IE = Nothing
        Set IE = CreateObject("InternetExplorer.Application")
        fIE_Open = True
        IE.Toolbar = False
        IE.Silent = True
        Form_Resize
        IE.Visible = fVisible
        
    End Sub

Автор: BlackSun 20.12.19, 19:21
Конфликта, похоже, нет. Есть подозрения, что ошибки сыпятся когда смотрятся фильмы в Firefox и расходуется вся опер. память, либо когда Win10 грузит диск на 100% своими кривыми сервисами, вроде "Группа служб Unistack: *_39еба"...

Автор: BlackSun 08.05.20, 22:27
есть кто дома?

Автор: BlackSun 30.05.20, 08:37
Я так понимаю, что после этих ошибок использовать объект нельзя? Иногда даже не удаётся закрыть программу, вылетает Switch to... и при выборе никакого переключения не происходит - получаем лишь эффект подвисания на время и опять это окно. После завершения проги через Диспетчер задач объект IE остаётся висеть в памяти и запуск проги заново приводит к её зависанию. Иногда просто просто программа зависает и никаких ошибок не вылетает, программа просто загружает страницы в IE и больше ничего особого не делает, загрузка страниц просто останавливается и непонятно что произошло (уже поставил везде обработку ошибок) - возможно, зависает сам объект IE... WebBrowser не годится, он некорректно отображает HTML5 местами.

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)