Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.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 местами. |