Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

programadorvb6

Erro no log.

Recommended Posts

programadorvb6

Olá boa noite.

Fiz uma aplicação, e coloquei uma função para tratamento de erros.

Até á data tudo sem problemas, mas hoje fui informado pela aplicação que surgiu o seguinte erro:

//

Data: 17-04-2013

Hora: 22:07

//

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

================================================

Alguém sabe o que isto significa?

Como poderei resolver?

Grato desde já pela vossa atenção.

ProgramadorVB6

Share this post


Link to post
Share on other sites
Nelson Sousa

Olá,

Me parece que essa numeração de erro ocorre pela falta de algo, ou seja, algum campo nulo, um arquivo não encontrado, etc.

Depende do que sua rotina esteja fazendo no momento.


Um Abraço,

Nelson Sousa

Share this post


Link to post
Share on other sites
programadorvb6

Olá, boa tarde.

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,Elementos.
			    If i.name = Me.DadosATrib_Utiliz.Text Then ' ( User ) Caso encontre as mesmas definições  ao precorrer código HTML, preenche com o valor na TextBox.
				    i.value = Me.TextBox3.Text '==> Atributo especificado recebe o valor da TextBox.
			    ElseIf i.name = Me.DadosATrib_Pass.Text Then ' ( Password ) Caso encontre as mesmas definições ao precorrer código HTML, preenche com o valor na TextBox
				    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 ' Caso esteja selecionada a CheckBox, para o inicio de sessão automático.
				    If i.className = Me.DadosCla_Botao.Text Then ' Caso encontre as mesmas definições ao precorrer código HTML, pressiona o botão.
					    i.click()
				    End If
			    End If
		    Next i
	    End With
	    If objIE.Busy = False Then ' Quando terminar o carregamento de página, e se verificar que não foi configurada (Atribuido qualquer valor aos elementos...) ,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

Edited by programadorvb6

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.