Jni/jacob

5 respostas
1112

Olá pessoal,

Venho tentando implementar uma solução para a impressora fiscal Bematech. O fabricante oferece apenas um driver DOS e uma DLL. Na busca pelo caminho das pedras, achei as opções:

a) JNI.
b) JACOB.
c) Comunicação serial “no braço”.

Por enquanto, estou evitando a opção c), por motivos até meio óbvios.

Com a opção a), estou enfrentando alguns problemas com o C++, na parte de ler a DLL do fabricante para criar a DLL do JNI. Se eu bater a cabeça um pouco mais nesse ponto, acho que eu consigo, mas meu conhecimento de C++ é meio baixo. Então, ao mesmo tempo, estou estudando a opção b), mas não achei nenhuma documentação sobre o Jacob. Alguém poderia me indicar alguma?

Alguém já conseguiu fazer algo do tipo? Pesquisando aqui no GUJ, vi que já tentaram fazer um projeto para isso, mas parece que não foi para frente, ou eu estou errado?

Obrigado.

5 Respostas

aborges

http://danadler.com/jacob/
http://groups.yahoo.com/group/jacob-project/

Soh pra te adiantar, o Jacob foi feito para trabalhar com DLLS do tipo COM ( Component Object Model )

T

Acho que esse pessoal da Bematech devia era fornecer uma solução Java (talvez baseada em javax.comm). Não é nada difícil e seria algo que incrementaria a visibilidade da Bematech no mercado nacional (falando com gíria de marketeiro…)

1112

Meio complicado, perguntei ao suporte de lá se eles tinham algo do tipo e eles me direcionaram uma OCX para acesso Web. Pelo visto, eles confundem Java com Javascript. :expressionless:

1112

Ah sim, esqueci de falar que, no caso do Jacob, o site oficial dele não traz documentação e indica um link para o site da Microsoft, mas parece que a Microsoft mudou as coisas. Mesmo assim, eu dei uma parada com o Jacob, visto que a DLL da Bematech não é COM. :expressionless:

Agora no JNI, eu estava tendo alguns problemas para ler a DLL dos caras. Ao que parece, a DLL deles foi compilada no Visual C++ (e a lib usa COFF), mas eu estou usando o Borland C++ Builder (que usa OMF nas libs). Presumi isso porque ocorria o erro “Invalid OMF record type 0x21 (possibly COFF)”. Achei um artigo para converter a lib, mas agora o erro mudou: “[LinkerError] Unresolved external ‘_Bematech_FI_CancelaItemAnterior()’ referenced from C:TESTEDLLDLL.OBJ.”

Alguém já passou por isso?

Estou quase indo para a comunicação serial… se bobear, fica até mais simples.

aborges

Epa! C eu nao me engano, um OCX tb eh um COM! Neste caso vc pode utiliza-lo…

Uma alternativa para usar o DLL deles eh vc fazer um COM acessando o danado ( pode fazer em VB, Delphi, C++, o q vc preferir )

Criado 29 de setembro de 2004
Ultima resposta 30 de set. de 2004
Respostas 5
Participantes 3