ERRO AO FAZER LOGIN.

PROGRAMADORVB6 11/05/2013 15:07:04
#423334
Olá boa tarde.
Fiz uma aplicação, para inserir em páginas Login valores User + Pass.
Acontece que na rotina para tratamento de erros, o Log informa o seguinte :

//
Data: 11-05-2013
Hora: 19:00
//
Erro nº : -2147023706
Descrição: Falha ao criar uma instância do componente COM com CLSID {0002DF01-0000-0000-C000-000000000046} a partir de IClassFactory devido ao seguinte erro: 800704a6.
Na Linha : 0
================================================
O erro vem desta rotina que se encontra em baixo e que estou a tentar uniformizar para todas as páginas de Login.
Uma vez capturadas as frases chave na página [Ô]alvo[Ô], a rotina procura dentro da página, essas mesmas frases; que após coincidirem, serão colocados os respectivos dados( User ou Pass).



 [ô]===========/ Motor : Login 
Public Sub Motor_Login()
Dim objIE As New SHDocVw.InternetExplorer
Dim htmlDoc As mshtml.HTMLDocument
Dim DocElements As mshtml.IHTMLElementCollection = Nothing
Dim url As String = Me.TextBox5.Text [ô] Link
Try

ShowWindow(objIE.HWND, ShowWindowCommands.SW_MAXIMIZE)
With objIE
.Navigate(url)
.Visible = True
While .Busy = True [ô] Espera um pouco até terminar o carregamento de página.
Threading.Thread.Sleep(2000)
End While
htmlDoc = .Document
DocElements = htmlDoc.getElementsByTagName(Me.ElMPrincipal.Text.ToLower) [ô] Referinciado o Elemento de página HTML.
For Each i As mshtml.IHTMLElement In DocElements [ô] Precorre toda a página HTML.
If i.name = Me.DadosATrib_Utiliz.Text Then [ô] ( User ) .
i.value = Me.TextBox3.Text [ô]==> Atributo especificado recebe o valor da TextBox.
ElseIf i.name = Me.DadosATrib_Pass.Text Then [ô] ( Password )
i.value = Me.TextBox4.Text [ô]==> Atributo especificado recebe o valor da TextBox.
End If
If Me.IniciarSessao.Checked = True AndAlso Me.IniciarSessao.Checked = True Then [ô] Para o inicio de sessão automático.
If i.className = Me.DadosCla_Botao.Text Then [ô] Pressiona o botão para aceitamento de dados.
i.click()
End If
End If
Next i
End With

If objIE.Busy = False Then [ô] Se verificar que não foi configurada (Atribuido qualquer valor),então procede ao Copiar/Colar.
objIE.Stop()
htmlDoc.close()
DocElements = Nothing
If Me.DadosATrib_Utiliz.Text = Nothing AndAlso Me.DadosCla_Utiliz.Text = Nothing And Me.DadosATrib_Pass.Text = Nothing AndAlso Me.DadosCla_Pass.Text = Nothing Then
If Me.TextBox3.Text <> Nothing AndAlso Me.TextBox3.Text <> Nothing Then
MessageBox.Show([Ô]Cole o conteúdo do campo : Utilizador.[Ô], [Ô]Informação ao utilizador : [Ô], MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
dataList.Clear()
Clipboard.SetText(Me.TextBox3.Text)
Threading.Thread.Sleep(2800)
End If
End If
If Me.DadosATrib_Pass.Text = Nothing AndAlso Me.DadosCla_Pass.Text = Nothing And Me.DadosATrib_Utiliz.Text = Nothing AndAlso Me.DadosCla_Utiliz.Text = Nothing Then
If Me.TextBox4.Text <> Nothing AndAlso Me.TextBox4.Text <> Nothing Then
dataList.Clear()
MessageBox.Show([Ô]Cole o conteúdo do campo : Password.[Ô], [Ô]Informação ao utilizador : [Ô], MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
Clipboard.SetText(Me.TextBox4.Text)
Threading.Thread.Sleep(2800)
End If
End If

End If
Catch ex As Exception
GerarLogErro(ex)
MessageBox.Show([Ô]Ocorreu um erro inesperado ao enviar dados.[Ô], [Ô]Informação ao utilizador : [Ô], MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub


Agradeço desde já a vossa colaboração.
Sem outro assunto.
ProgramadorVB6
LLAIA 16/05/2013 10:13:36
#423578
Problema no componente COM que vc está usando. Deduzindo de acordo com as pesquisas no Google, o problema está no objIE.

Achei essa ajuda a mais completa: http://geekswithblogs.net/pranav/archive/2010/01/27/800704a6-error-while-opening-javascript-driven-pages-in-ie8.aspx

Extraído de lá:

Citação:

[Ô]A quick work-around is as follows. (If the problem is with security settings, we can get an instant solution by setting up the following values)

Go to Tools-> Internet Options-> Security and click on ‘Custom Level…’ (in the Security level for this zone group)[Ô]

PROGRAMADORVB6 17/05/2013 17:01:00
#423667
Olá LLAIA.
Desde já quero agradecer a sua colaboração.
Embora tenha seguido todos os procedimentos que lá no site são apresentados, não obtive sucesso.
Continua a me apresentar o mesmo erro, será que não existe algum modo de efetuar a mesma situação (sem recurso ao controle WebBrowser do vb.net) ?

Grato desde já pela sua disponibilidade.
Atenciosamente.
Programadorvb6
FAIO 17/05/2013 17:11:57
#423668
é engano meu o With esta fechado no lugar errado? Tento debugar e ver o ponto exato que ocorre o erro?
FELLIPEASSIS 17/05/2013 20:21:14
#423675
debuga ele usando tecla F8 do teclado
PROGRAMADORVB6 18/05/2013 11:53:05
#423700
O erro quando debuga ele é este:
Tópico encerrado , respostas não são mais permitidas