PROBLEMA: Erro -2147467259 (80004005) ao cliente do Visual Basic chama um método em um objeto COM

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 318519
Sintomas
Quando um cliente do Visual Basic 6.0 chama um método em um objeto COM (Component Object Model), o runtime do Visual Basic pode relatar a seguinte mensagem de erro:
Erro em tempo de execução '-2147467259 (80004005)': método ' ~ 'do objeto' ~ ' falhou
Ou seja, a chamada do método retornará E_FAIL, mas o objeto não implementa a interface ISupportErrorInfo ou não fornece um objeto de erro ao chamar a função CreateErrorInfo .
Mais Informações
Se você usar código de tratamento de erro adequado, você pode determinar o nome do servidor que contém o objeto que retorna o erro. Essas informações são armazenadas na propriedade fonte do objeto Err . Por exemplo, o código a seguir cria uma entrada do log de eventos quando ocorre o erro:
Private Sub TestSub()    On Error GoTo errHandler    Dim o As TestServer.Class1    Set o = New TestServer.Class1    o.SomeMethod    Exit SuberrHandler:    App.LogEvent "Error in TestSub: " & Err.Number & "; Source: " & Err.Source & "; Description: " & Err.DescriptionEnd Sub				
se o erro mencionado acima ocorre quando o.SomeMethod é chamado, você pode identificar o nome da função ( TestSub ), o número do erro [-2147467259 (80004005)], a origem do erro (TestServer) e a descrição (método ' ~ 'do objeto' ~ ' falha). Você pode usar essas informações para restringir a causa do problema.

Se você estiver depurando no ambiente de desenvolvimento integrado do Visual Basic (IDE), e se o objeto COM está sendo executado no processo, você pode obter uma descrição mais específica do erro que inclui os nomes de objeto e o método. Para determinar a causa raiz do problema, depurar o método do objeto que retorna E_FAIL.

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 318519 - Última Revisão: 03/04/2002 10:59:00 - Revisão: 1.0

Microsoft Visual Basic Enterprise Edition for Windows 6.0

  • kbmt kbprb KB318519 KbMtpt
Comentários