import com.sun.jna.Native;
import com.sun.jna.win32.StdCallLibrary;
public interface SAT extends StdCallLibrary {
SAT INSTANCE = (SAT) Native.loadLibrary("dllsat.dll", SAT.class);
Não sei exatamente a partir de qual atualização minha aplicação começou a dar pau nesta linha do dllsat.dll, para resolver desinstalei o java 8 (64bits) e instalei o java 8 151 (32bits).
Alguém sabe se houve algum configuração, comando, função ou algo do tipo que precise implementar para q a dll funcione com a versão atual do java e 64 bits tbm ?
Sua DLL precisa estar na mesma arquitetura que seu Java.
Se o Java é de 32 bits, a DLL também precisa ser de 32 bits.
Se o Java é de 64 bits, a DLL também precisa ser de 64 bits.
Algumas DLLs vem separada 32 ou 64 bits, mas a maioria não distingui, este problema é só com o Java ?, os programas q vem com o equipamento para configurar utilizam a dll sem problemas tanto em windows 64 quanto 32 bits.
Outra questão é q o windows sendo 64 ele sempre vai atualizar automatico para o java 64 e o windows sendo 32 vai atualizar automatico para o java 32, nao é isso ?
E esses programas são programas nativos de 32 bits e que não foram escritos em Java, certo?
No Java você pode usar a classe com.sun.jna.Platform para verificar se a JVM no qual sua aplicação está rodando é de 32 ou 64 bits e aí escolher a DLL a ser carregada.
Se o Java vai se atualizar automaticamente, vai depender se você instalou um JRE na máquina do cliente ou se simplesmente disponibilizou o JRE em algum diretório.
Se ele foi instalado, isso vai depender das configurações de atualização do Java.
Mas uma coisa é fato, um Java de 32 bits não vai se atualizar para um de 64 bits nem vice-versa.
E esses programas são programas nativos de 32 bits e que não foram escritos em Java, certo?
Correto, não foi escrito em java.
Se ele foi instalado, isso vai depender das configurações de atualização do Java.
Mas uma coisa é fato, um Java de 32 bits não vai se atualizar para um de 64 bits nem vice-versa.
Isso é fato
Mas vou fazer outros testes com estas DLLs do SAT, sempre baixo as mais atuais direto do site dos fabricantes no momento da implantação do sistema e equipamento e como falei não são todos que especificam se é 32 ou 64 bits, e como somente a uns 2 meses começou a apresentar erro para se comunicar com o aparelho, achei q era a versão e só resolveu usando uma versao antiga em 32 bits do java.
Fiz uns testes com algumas DLLs de alguns SATs e era o q o staroski disse msm rsrsrs… versao da DLL com a versao do JAVA, instalei em todos os clientes o JAVA 32 bits e esta funcionando blzinha, só para constar o erro de java.lang.NoClassDefFoundError tbm acontece quando falta alguma dll q estas dlls precisam.
vlw pela ajuda