Estou desenvolvendo um sistema de Gerenciamento de compras(Generico), no final de vendas pretendo imprimir um cupom Fiscal. Criei uma Classe Imprimir dentro do pacote Print dentro do pacote principal; Eu chamo metodos dessa classe no formCaixa.
Exemplo:
public void Termino()
{
iReturn = Bematech.TerminaFechamentoCupom("Obrigado! Volte Sempre!");
setStatusBarFunctionReturn(iReturn);
setStatusBarPrinterStatus();
}
Pra isso estou usando um Emulador da impressora termica da Bematech MP-4200 THFI II (Link) e portas seriais virtuais (Pair) ex: COM1 <=> COM2(Link).
Coloquei as dlls abaixo em C:\Windows\System32\
-> BemaFI32.dll
-> BemaFI32.ini
-> BemaMFD.dll
-> BemaMFD2.dll
-> DAO2535.tlb
-> DAO350.dll
-> MSJET32.dll
-> AX6R32.DLL
-> BemaFI64.dll
-> BemaFI64.ini
-> BemaFI64.lib
-> BemaMFD2_64.dll
Substitui o Bematech.jar 32 bits para o Bematech.jar 64 bits, que vem junto no pacote da dll BemaFI64(Link) já na versão pra W10, no pacote de bibliotecas do projeto. Tentei forçar pelo System.loadLibrary("BemaFI64");
, mas nada da certo!
Quando executo o programa da o seguinte erro:
Exception in thread “main” java.lang.UnsatisfiedLinkError: C:\Windows\System32\BemaFI32.dll: Can’t load IA 32-bit .dll on a AMD 64-bit platform
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1857)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at bemajava.Bematech.(Bematech.java:391)
at parateste.Caixa.LeituraX(Caixa.java:5680)
at parateste.Caixa.(NovoJFrame.java:50)
at parateste.Main.main(ParaTeste.java:31)
Estou usando:
- Sistema Windows 10 Operacional de 64 bits, processador com base em x64
- java version “1.8.0_111”
- Java™ SE Runtime Environment (build 1.8.0_111-b14)
- Java HotSpot™ 64-Bit Server VM (build 25.111-b14, mixed mode)
Alguém pode ajudar, não aguento mais esse negocio de Bematech
em minha mente, esse problema infeliz.