Pessoal,
Estou fazendo uns testes com JNA, fiz uma DLL simples com VB6 para testar.
Project1.TestePabloDLL
Com uma única função
function Hello(nome as String) as String
Chamando por Jacob, funciona perfeitamente.
//ActiveXComponent sC = new ActiveXComponent(“Project1.TestePabloDLL”);
//Dispatch sControl = sC.getObject();
//Variant v = Dispatch.call(sControl, “Hello”, “Pablo”);
//System.out.println(v.toString());
Mas quando tento fazer com JNA, não funciona.
Se uso assim
//TestePabloDLL lib = (TestePabloDLL) Native.loadLibrary(“Project1.TestePabloDLL”, TestePabloDLL.class);
//String t = lib.Hello(“Java Rocks”);
//System.out.println(t);
Retorna
//Caused by: java.lang.UnsatisfiedLinkError: Unable to load library ‘Project1.TestePabloDLL’: The specified module could not be found.
Se mudo para
//TestePabloDLL lib = (TestePabloDLL) Native.loadLibrary(“TestePabloDLL”, TestePabloDLL.class);
//String t = lib.Hello(“Java Rocks”);
//System.out.println(t);
Retorna
//Caused by: java.lang.UnsatisfiedLinkError: Error looking up function ‘Hello’: The specified procedure could not be found.
No segundo exemplo, achou a DLL, mas não consegue invocar o método, o que pode ser?