[RESOLVIDO] Erro dllsat.dll com versao java 64 bits

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 ?

Vlw as futuras ajudas

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? :wink:

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? :wink:

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