NÃO CONSEGUINDO TRATAR ERRO DE INTERNET!
Pessoal eu tenho uma tela que busca uma imagem e um texto no servidor meu na net.
Utilizo um router sem fio e quando tenho prob de internet ele pode gerar dois erros!
Se a o router wifi nao estiver ligado ele gera o erro (-2147012889)
Se o router ta ligado mas sem internet ele gera erro (55)
Então quando isso ocorre eu preciso direcionar para ele buscar em uma pasta os arquivos temporarios JPG e o TXT para nao parar o sistema!
Dó que não estou conseguindo tratar os dois erros na mesma linha de execução.
Segue o trecho do codigo:
[txt-color=#e80000]On Error GoTo TrataErro[/txt-color]
[ô]Carrega a imagem online da noticia
Set WinHttpReq = CreateObject([Ô]WinHttp.WinHttpRequest.5.1[Ô])
Dim d() As Byte
WinHttpReq.open [Ô]GET[Ô], [Ô]http://www.servidor.com.br/JPG/S1.jpg[Ô], False [ô] Send the HTTP Request.
[ô]##########################################################
[ô]Inicia tratamento de rro!
TrataErro:
If Err.Number = -2147012889 Then
Timer1.Enabled = False [ô] para o timer1
Timer2.Enabled = True [ô] inicia o termer2 para buscar no hd os arquivo nao encontrados na NET
Exit Sub
[ô]**************************************************************
Else
WinHttpReq.send
Debug.Print WinHttpReq.Status & [Ô] - [Ô] & WinHttpReq.StatusText [ô]200 means success
Open [Ô]S1.jpg[Ô] For Binary As #1 [txt-color=#e80000] [ô]Só que quando o router ta ligado e sem internet ele da erro aqui tb ai que nao consigo tratar o erro denovo![/txt-color]
d() = WinHttpReq.responseBody
Put #1, 1, d()
Close
Image1.Picture = LoadPicture([Ô]S1.jpg[Ô])
Set WinHttpReq = Nothing
Image1.Width = Me.ScaleWidth
Image1.Height = Me.ScaleHeight
[ô]###################################################################################
[ô]Carrega o texto online
Dim sTxt As String, bVet() As Byte
Dim iNum As Integer
bVet() = Inet1.OpenURL(txtURL.Text, 1)
sTxt = [Ô][Ô]
For iNum = 0 To UBound(bVet) - 1
sTxt = sTxt + Chr(bVet(iNum))
Next
Text1.Text = sTxt
Label1 = sTxt
End If
Utilizo um router sem fio e quando tenho prob de internet ele pode gerar dois erros!
Se a o router wifi nao estiver ligado ele gera o erro (-2147012889)
Se o router ta ligado mas sem internet ele gera erro (55)
Então quando isso ocorre eu preciso direcionar para ele buscar em uma pasta os arquivos temporarios JPG e o TXT para nao parar o sistema!
Dó que não estou conseguindo tratar os dois erros na mesma linha de execução.
Segue o trecho do codigo:
[txt-color=#e80000]On Error GoTo TrataErro[/txt-color]
[ô]Carrega a imagem online da noticia
Set WinHttpReq = CreateObject([Ô]WinHttp.WinHttpRequest.5.1[Ô])
Dim d() As Byte
WinHttpReq.open [Ô]GET[Ô], [Ô]http://www.servidor.com.br/JPG/S1.jpg[Ô], False [ô] Send the HTTP Request.
[ô]##########################################################
[ô]Inicia tratamento de rro!
TrataErro:
If Err.Number = -2147012889 Then
Timer1.Enabled = False [ô] para o timer1
Timer2.Enabled = True [ô] inicia o termer2 para buscar no hd os arquivo nao encontrados na NET
Exit Sub
[ô]**************************************************************
Else
WinHttpReq.send
Debug.Print WinHttpReq.Status & [Ô] - [Ô] & WinHttpReq.StatusText [ô]200 means success
Open [Ô]S1.jpg[Ô] For Binary As #1 [txt-color=#e80000] [ô]Só que quando o router ta ligado e sem internet ele da erro aqui tb ai que nao consigo tratar o erro denovo![/txt-color]
d() = WinHttpReq.responseBody
Put #1, 1, d()
Close
Image1.Picture = LoadPicture([Ô]S1.jpg[Ô])
Set WinHttpReq = Nothing
Image1.Width = Me.ScaleWidth
Image1.Height = Me.ScaleHeight
[ô]###################################################################################
[ô]Carrega o texto online
Dim sTxt As String, bVet() As Byte
Dim iNum As Integer
bVet() = Inet1.OpenURL(txtURL.Text, 1)
sTxt = [Ô][Ô]
For iNum = 0 To UBound(bVet) - 1
sTxt = sTxt + Chr(bVet(iNum))
Next
Text1.Text = sTxt
Label1 = sTxt
End If
Olha colega sua rotina ta meio estranha veja bem, o tratamento de erro deve ficar no final do código, após um exit sub, exit fun, etc. para que seja acionado apenas quando houver erro mesmo, então tente isso:
On Error GoTo TrataErro
[ô]Carrega a imagem online da noticia
Set WinHttpReq = CreateObject([Ô]WinHttp.WinHttpRequest.5.1[Ô])
Dim d() As Byte
WinHttpReq.open [Ô]GET[Ô], [Ô]http://www.servidor.com.br/JPG/S1.jpg[Ô], False [ô] Send the HTTP Request.
[ô]###################################################################################
[ô]Carrega o texto online
Dim sTxt As String, bVet() As Byte
Dim iNum As Integer
bVet() = Inet1.OpenURL(txtURL.Text, 1)
sTxt = [Ô][Ô]
For iNum = 0 To UBound(bVet) - 1
sTxt = sTxt + Chr(bVet(iNum))
Next
Text1.Text = sTxt
Label1 = sTxt
Exit sub [txt-color=#007100][ô]aqui você sai da rotina caso ocorra tudo certo[/txt-color]
TrataErro:
If Err.Number = -2147012889 or Err.Number = 55 Then
WinHttpReq.send
Debug.Print WinHttpReq.Status & [Ô] - [Ô] & WinHttpReq.StatusText [ô]200 means success
Open [Ô]S1.jpg[Ô] For Binary As #1 [ô]Só que quando o router ta ligado e sem internet ele da erro aqui tb ai que nao consigo tratar o erro denovo!
d() = WinHttpReq.responseBody
Put #1, 1, d()
Close
Image1.Picture = LoadPicture([Ô]S1.jpg[Ô])
Set WinHttpReq = Nothing
Image1.Width = Me.ScaleWidth
Image1.Height = Me.ScaleHeight
End If
Valeu Marcelo...
Tópico encerrado , respostas não são mais permitidas