Olá, estou com problemas para acessar uma dll utilizando JNA. Segue a mensagem de erro abaixo:
Exception in thread “main” java.lang.UnsatisfiedLinkError: Error looking up function ‘Start’: Não foi possível encontrar o procedimento especificado.
at com.sun.jna.Function.<init>(Function.java:113)
at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:219)
at com.sun.jna.Library$Handler.invoke(Library.java:193)
at $Proxy0.Start(Unknown Source)
at Conexao.main(Conexao.java:20)
Na dll esiste um método chamado Start e ao chamá-lo ocorre o erro acima, mas se não chamo o método não ocorre erro algum.
Vou fazer uma pergunta chata. É possível chamar essa mesma DLL a partir de um programa VB 6.0 usando Declare Function (não uma referência), ou então a partir de um programa C puro incluindo apenas o .h?
Se for, talvez você possa usar o JNA.
Se não for, mas você puder usar essa DLL registrando-a e adicionando uma referência em um programa VB 6.0, ou então usando Interoperability em C# ou VB.NET, então você pode usar o Jacob (http://danadler.com/jacob, se não me engano) (não use JNI porque é difícil fazer isso com JNI puro).
Se essa DLL deve ser chamada a partir de um programa C# ou VB.NET sem “Interoperability”, então o problema é mais complicado. Procure como é que se pode chamar uma DLL .NET a partir de Java - não tenho a menor idéia de como se faz isso.