Problemas com COM: com.jacob.com.ComFailException: A COM exception has been encountered

3 respostas
fillipeweb

Pessoal estou com os eguinte erro no codigo:

Exception in thread main com.jacob.com.ComFailException: A COM exception has been encountered:

At Invoke of: PadroesBoleto

Description: An unknown COM error has occured.

at com.jacob.com.Dispatch.invokev(Native Method)

at com.jacob.activeX.ActiveXComponent.getProperty(ActiveXComponent.java)

at DispatchTest.main(DispatchTest.java:23)

Esse codigo é um exemplo que eu peguei do site http://www.cobrebem.com/downloads/cbx.html
E esse é o site dos arquivos e do projeto JACOB http://danadler.com/jacob/index.html

import com.jacob.com.*;
import com.jacob.activeX.*;


public class DispatchTest
{
  public static void main(String[] args)
  {

    ActiveXComponent cbx = new ActiveXComponent("CobreBemX.ContaCorrente");

// Monta arquivo de licença de teste para banco 001 carteira 18
    cbx.setProperty("ArquivoLicenca", new Variant("001-18.conf"));

// Monta dados da conta corrente
    cbx.setProperty("CodigoAgencia", new Variant("1234-5"));
    cbx.setProperty("NumeroContaCorrente", new Variant("00000123-X"));
    cbx.setProperty("CodigoCedente", new Variant("123456"));
    cbx.setProperty("InicioNossoNumero", new Variant("00001"));
    cbx.setProperty("FimNossoNumero", new Variant("99999"));
    cbx.setProperty("ProximoNossoNumero", new Variant("00015"));

    Object PadroesBoleto = cbx.getProperty("PadroesBoleto").toDispatch();
    Object PadroesBoletoImpresso = Dispatch.get(PadroesBoleto, "PadroesBoletoImpresso").toDispatch();
    Dispatch.put(PadroesBoletoImpresso, "ArquivoLogotipo", "c:/CobreBemX/Imagens/BannerCBX.gif");
    Dispatch.put(PadroesBoletoImpresso, "CaminhoImagensCodigoBarras", "c:/CobreBemX/Imagens/");

// Cria documento de cobrança
    Object DocumentosCobranca = cbx.getProperty("DocumentosCobranca").toDispatch();
    Object Boleto = Dispatch.get(DocumentosCobranca, "Add").toDispatch();
    
// Monta dados do sacado
    Dispatch.put(Boleto, "NomeSacado", "Fulano de Tal");

// Monta dados do documento de cobrança
    Dispatch.put(Boleto, "DataVencimento", "01/10/2002");
    Dispatch.put(Boleto, "NumeroDocumento", "12345");
    Dispatch.put(Boleto, "ValorDocumento", "123.45");

    cbx.invoke("ImprimeBoletos", null);
  }
}

3 Respostas

fillipeweb

Pessoal, o topico esta destravado, o moderador compreendeu meu problema e liberou o topico. Se alguem puder me ajudar eu agradeco.

Obrigado.

D

conseguiu resolver?

T

Não cheguei a usar o Jacob, mas pela minha experiência com COM, eu sugeriria criar um programa equivalente com VBScript, para ver se a DLL está corretamente registrada no sistema, e só aí passar para o Java. Esse erro “An unknown COM error was occurred” é insidioso e foi um dos motivos pelos quais as pessoas hoje em dia evitam usar VB 6.0 ou coisas parecidas (as mensagens de erro são muito misteriosas e você simplesmente fica sem pista nenhuma).

Criado 5 de junho de 2007
Ultima resposta 2 de abr. de 2008
Respostas 3
Participantes 3