Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Перехват ошибок в WebBrowser!


Автор: velltar 26.9.2009, 18:25
Здравствуйте!
У меня появилась проблемка и как ее решить не понятно  smile 
На форме использую компонент WebBrowser в котором должна загружаться страница. Эта страница периодически загружается, а периодически нет и вот когда она не загружается, то появляется класическое окошко с красным круглешком и с крестиком внутри smile со словами "Не удалось открыть узел ...такойто. Операция прервана" Ну и соответственно кнопочка OK. Так вот у меня вопрос. Можно ли перехватить как то это сообщение об ошибке? Тогда бы я перенаправил выполнение программы и это окошко бы не вылезало smile. Надеюсь на помощь!!! Заранее спасибо

Автор: eldar22 26.9.2009, 21:31
ыыы ради интереса попытался решить вашу проблему

Код

Private Sub Command1_Click()
If WebBrowser1.LocationURL = "http://radik.ho.ua/404.html"  Then  WebBrowser1.Navigate "http://www.mail.ru"
End Sub

Private Sub Form_Load()
 WebBrowser1.Navigate "http://radik.ho.ua/404.html"

End Sub

Автор: velltar 26.9.2009, 21:41
Я конечно не уверен, что это именно то, но щас попробуемс smile Все равно в любом случаи спасибо smile О результатах напишу, может кому потом пригодится smile

Автор: velltar 27.9.2009, 15:20
В общем это не то и до сих пор не могу найти ответ :(

Автор: velltar 27.9.2009, 15:53
Думал попробовать решить проблему с помощью _NavigateError, но выяснилось то что _NavigateError срабатывает позже вылета этого окна с критической ошибкой. Попытался решить так же эту проблему с помощью body.innerText, но данные об странице которую не может загрузить соответственно в body.innerText даже не заносит - не успевает 
Может кто-нибудь сталкивался с аналогичной проблемой? Помогите кто чем сможет, плиз.

Автор: velltar 27.9.2009, 16:26
проблема решена. Всем спасибо за проявленный интерес  smile 

Автор: eldar22 27.9.2009, 17:34
velltar,  Если не секрет расскажите как решили проблему может кому то будет полезна  информация

Автор: GoblinOdnorukiy 5.10.2009, 01:19
Цитата(eldar22 @ 27.9.2009,  17:34)
velltar,  Если не секрет расскажите как решили проблему может кому то будет полезна  информация

Ельдар22, я попробую ответить за Велтара...

Я покажу свой код, а ты уж подкорректируй под себя.

Код

Public Function OpenWebPage(page)
    
    Err.Clear
    On Error Resume Next
        
    Set objIE = Form1.WebBrowser1

    If (Err.Number <> 0) Then
        MsgBox "Error: NE MAGU SOZDAT OBJECT!!!"
        Err.Clear
    End If
    
    
    objIE.Navigate page
    If (Err.Number <> 0) Then
        MsgBox "Error: PRABLEMA SA STRANICHKOY!"
        Err.Clear
    End If

    While objIE.ReadyState <> READYSTATE_COMPLETE
        DoEvents
    Wend
    
    Set objIE = Nothing
    
End Function



В  коде я расставил MsgBox-ы. Их нужно закоментарить, тогда эта функция молча отработает даже если будет куча ошибок. Конечно нужно понимать что при наличии ошибок не загрузится веб страничка, поэтому нужно с умом обработать все ситуации когда появляются ошибки.

Автор: velltar 31.10.2009, 13:30
Просто нужно в коде прописать 
Код

WebBrowser1.Silent = True


Но именно в коде самой программы, а не в препертисах объекта. Если в препертисах просто поставить True то у меня по крайней мере не пашет

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