Ir para conteúdo
  • Cadastre-se

dev botao

Acbr para o Java alguem pode me passar os passos iniciais ?


paulosis
Ver Solução Respondido por Rafael Batiati,
  • Este tópico foi criado há 4059 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Olá pessoal desenvolvo uma aplicação comercial em java, no momento estou estou desenvolvendo a nota fiscal

eletrônica, estou quase no fim do arquivo txt pois não sabia dessa dll que posso utilizar o java se alguem me puder

me passar os passos iniciais para eu tentar fazer pela dll, ou vou terminar o modo via TXT, mas tenho muita duvida

sobre os comandos e gostaria saber tambem se alguem tem o modelo do TXT explicando campo a campo

ou comando a comando pois os que encontrei ja são antigos agradeço desde já T+.

Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...

Alô galera,

 

O NFe não está implementado ainda no ACBrFramework, temos planos para fazê-lo em breve, mas só para .Net pois infelizmente não temos equipe para manter o projeto em java.

De toda forma, o jACBrFramework vem sendo mantido apenas com o ECF parcialmente implementado, e com um projetinho de exemplo.

 

Dê uma olhada nisso:

 

 

Saiba mais sobre o ACBrFramework:

http://acbrframework.sourceforge.net

 

Como baixar o código fonte:

http://acbrframework...s/codigo-fonte/

 

Download compilado:

http://sourceforge.n...ramework/files/

 

Abs!

Rafael Batiati

ACBrFramework - Automação comercial para todos.

MultiClubes - Soluções para a área de clubes, parques, lazer e entretenimento.

Link para o comentário
Compartilhar em outros sites

Obrigado Rafael Batiati,

 

Eu ja fiz esse dowloads para minha máquina, Alterei o load da Classe ACBrECF.java

 

 

static
    {
        //Carrega a biblioteca de chamadas nativas JNI
        //System.loadLibrary("ACBrFramework_JNI");
                
                try {
                    System.loadLibrary("ACBrFramework64");
                } catch (UnsatisfiedLinkError e) {
                    System.err.println("Erro ao carregar dll do jACBrFramework.\n" + e);
                    throw new UnsatisfiedLinkError("Erro ao carregar dll do jACBrFramework!");
                }
    }
 
Sem problemas aqui tudo bem, mas esta dando um erro, quero saber se alguém pode me ajudar:
 
jACBr.ACBrECF.create()V
 
Se alguém puder me ajudar, desde já agradeço.
 
att
Link para o comentário
Compartilhar em outros sites

Bom dia Wagner!

 

Você simplesmente desativou o Interop, aí o erro parou de acontecer, assim como todo o resto parou de funcionar também !!!

 

O ACBrFramework é uma DLL nativa, e funciona via JNI com o java.

o this.create() que "é coisa de Delphi", na verdade é uma função nativa implementada em C++ chamada via JNI

 

private native void create() throws ACBrException;

 

Essa função, de fato é coisa de Delphi, pois é nela que o componente é criado e os handlers atribuídos.

 

(...)

 

eu acho que o seu problema pode estar no System.loadLibrary("ACBrFramework64");

Você precisa estar usando uma JRE de 64bits e usando a DLL compilada em 64bits pra isso funcionar. Aí vc precisa ver se sua DLL nativa e o JNI foi compilado corretamente. Não distribuímos versões compiladas do JNI em 64bits, só em 32bits mesmo.

 

O mais fácil é vc manter o ACBrFramework32 e executar com uma JRE de 32bits.

 

Abs!

Rafael Batiati

ACBrFramework - Automação comercial para todos.

MultiClubes - Soluções para a área de clubes, parques, lazer e entretenimento.

Link para o comentário
Compartilhar em outros sites

...\ACBrFramework32.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform

 

Isso significa que você ainda está executando no JRE de 64 bits.

 

Nesse caso não basta apenas instalar a JRE 32bits, você precisa na sua IDE (NetBeans, Eclipse ou outro) informar o JRE de 32bits que você quer usar.

Trocando em miúdos, você precisa usar o javac e java.exe do JRE correto, pois um aplicativo de 64bits não consegue carregar módulos de 32bits.

 

Abs

Rafael Batiati

ACBrFramework - Automação comercial para todos.

MultiClubes - Soluções para a área de clubes, parques, lazer e entretenimento.

Link para o comentário
Compartilhar em outros sites

Oi,

Não sei ao certo, não uso o NetBeans, mas a JRE alí é a correta, só não sei se ele está usando essa só como classpath ou se pra executar o aplicativo também. Dá uma googlada sobre usar no NetBeans JRE 32bits em máquinas 64, vai que tem algum macete...

 

(...)

 

Compilar em 64 não tem mistério não, vc só precisa compilar o ACBrFramework em Lazarus usando o projeto ACBrFramework64.lpr e compilar o projeto do jACBrFramework_JNI em 64 bits também. Ele é feito em Visual C++.

 

Mas como o Rafael Dias falou, na prática não é recomendado, pois pra fazer a leitura da MFD é necessária as DLLs dos equipamentos que nem sempre são distribuídas em 64bits.

 

Abs

Rafael Batiati

ACBrFramework - Automação comercial para todos.

MultiClubes - Soluções para a área de clubes, parques, lazer e entretenimento.

Link para o comentário
Compartilhar em outros sites

Em primeiro lugar, obrigado pela atenção, estou precisando muito de ajuda com isso.

 

Bom, eu configurei o path do windows,  

post-4857-0-64938000-1360946394.jpg

 

quando limpo e contruo no Netbeans, aparece a seguinte mensagem no compilador:

 

...

 

To run this application from the command line without Ant, try:
C:\Program Files (x86)\Java\jdk1.6.0_39/bin/java -jar "G:\Desenvolvimento\Codigos\Java\NetBeansProject\Projeto\dist\Projeto.jar"
 
Agora esta ocorrendo o primeiro erro:
 
jACBr.ACBrECF.create()V
 
att.
Link para o comentário
Compartilhar em outros sites

  • Solution

Ok, que bom, a JRE parece estar ok agora.

 

Vamos ao outro problema.

Pelo que parece você está usando a jACBr, uma versão ***muito antiga*** do nosso projeto, que agora se chama jACBrFramework.

 

O JNI é muito temperamental com essas coisas, pois se sua ACBrECF está no package jACBr ele procura o método jACBr_ACBrECF_create pra executar. Mas em nossa nova versão, o package foi renomeado para jACBrFramework, e consequentemente no JNI existe agora um método também chamado jACBrFramework_ACBrECF_create.

 

Ou seja, ou você usa o jACBr com a ACBr32.dll e a ACBr_JNI.dll ou você migra para o jACBrFramework e usa a ACBrFramework32.dll e o ACBrFramework_JNI.dll. Pelo que eu vi no seu projeto, você está usando as DLLs novas e o jar antigo.

 

Abs

Rafael Batiati

ACBrFramework - Automação comercial para todos.

MultiClubes - Soluções para a área de clubes, parques, lazer e entretenimento.

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 4059 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.