Estou tendo problemas na utilização de uma DLL do DarumaFramework. Ocorre que ao executar o projeto pelo NetBeans a biblioteca é carregada sem problemas e eu consigo utilizá-la normalmente, porém, ao tentar rodar executável (.jar) da aplicação ele não funciona. Para carregar a biblioteca utilizo o comando System.loadLibrary(“DarumaFramework”).
Você precisa colocar a dll em uma pasta que esteja mapeada na variável de ambiente “path”. Tenta colocar na system32 se for winxp 32 bits ou syswow64 em sistema win7 64. Se der certo posta aí para quem vier neste tópico possa ver a solução
D
drsmachado
Qual o erro que ocorre ou não implementou log ou não está rodando pelo prompt/console?
J
joparibeiro
juliocbq, a dll já se encontra no diretório syswow64 e a variável de ambiente “path” está com o valor “C:\Program Files\Java\jre7\bin;C:\Windows\SysWOW64”.
drsmachado, tratei o System.loadLibrary em um bloco try catch e não consegui capturar nenhuma exceção.
D
drsmachado
joparibeiro:
juliocbq, a dll já se encontra no diretório syswow64 e a variável de ambiente “path” está com o valor “C:\Program Files\Java\jre7\bin;C:\Windows\SysWOW64”.
drsmachado, tratei o System.loadLibrary em um bloco try catch e não consegui capturar nenhuma exceção.
Nem capturando um Throwable?
J
joparibeiro
Não consigo decifrar o que está acontecendo.
Segue o código do início da classe que faz o carregamento da dll.
Camarada, se não me engano, a classe Exception não consegue capturar esse erro. Tem que ser Throwable. Tive o mesmo problema com a dll 64 bits da Bematech. Só não tenho certeza de como fiz para capturar o erro.
J
juliocbq
a dll é 64 bits?
a jvm é 64 bits?
J
joparibeiro
É isso ai camarada.
Coloquei Throwable no catch e capturei erro, ele não estava encontrando a dll.
D
drsmachado
Nada como uma experiência ruim.
No meu caso, eu fazia um try para carregar esta de 64, caso não conseguisse, tentava a de 32 (o sistema deveria permitir operar em qualquer plataforma).
Era um experimento, mas só consegui pegar com Throwable.
Ao menos já consegue saber o que está acontecendo.
J
juliocbq
se a dll e a jvm forem de arquiteturas diferentes não carrega mesmo. Dá uma olhada nisso.