Exception in thread "main" com.jacob.com.ComFailException: Can't co-create object

6 respostas
fillipeweb

Por favor alguem me ajuda, estou tentando executar um codigo utilizando o Jacob mas sempre da esse erro, eu jah coloquei a dll e o jar nas pastas fiz de tudo mas o erro perssiste.

Erro:

Exception in thread main com.jacob.com.ComFailException: Cant co-create object

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

at com.jacob.com.Dispatch.(Dispatch.java)

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

at DispatchTest.main(DispatchTest.java:10)

6 Respostas

fsquadro

Filipe,

Adicionou os jars ao classpath?

Qualquer coisa, poste o código que está dando erro!

fillipeweb

jah adicionei sim é um jar soh o jacob.jar.

Os arquivos estao aqui http://danadler.com/jacob/index.html

Aqui esta o codigo:

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);
  }
}
fsquadro

Filipe,

De uma olhada neste tópico, acredito que te ajude.

http://www.workingwith.me.uk/articles/java/itunes-com-with-java-and-swing

Ah, e outra coisa, de uma lida nesse tópico do GUJ (para usar melhor as ferramentas do Fórum). Como o code para postar o código, por exemplo.

http://www.guj.com.br/posts/list/50115.java

:slight_smile:

V

Cara, nós também utilizamos este componente (“CobreBem”) e também apanhamos um bocado com o Jacob que não tem uma documentação muito boa… :frowning: Olha essa página aqui que pode te ajudar com os erros mais comuns
http://danadler.com/jacob/jacobfaq.html
No seu caso:
I?m getting a ?co-create ComFailException?, what should I do?
Maybe you need to register your DLL on the system, or you mispelled the name in the Java source code. To register a DLL use ?REGSVR32 ?. REGSVR32 ships with every copy of Windows. It should pop-up a message box saying the component was registered successfully.

Boa sorte ! :wink:

D

isso acontece por a dll do cobrebem não esta registrada no windows, dai ele não consegue montar o objeto

segue a solução

1 -Pega os arquivos instalar.ex e e CobreBemX.dll

2 -coloca dentro do diretório qualquer do seu programa

3 -executa instalar.exe

pronto so isso

comigo deu certo!

S

veja se o serviço “Inicializador de Processo de Servidor DCOM” está em execução, caso não esteja, ative o mesmo…

Criado 4 de junho de 2007
Ultima resposta 3 de set. de 2009
Respostas 6
Participantes 5