Gostaria de colocar o que for relacionado a JNA, neste espaço.
Estou com 2 duvidas:
- Estou tendo dúvidas sobre como utilizar JNA quando um metodo do meu codigo da dll(por exemplo) retorna um Objeto ou um array.
Os exemplos que vi o metodo retorna int e String ou nao retorna nada (void).
Entao cito abaixo um exemplo do que estou falando:
-
O que tem na especificacao da minha dll
Caex.BullTool.Framework.User.IDriver -
Dentro da classe IDriver tem o metodo (assinatura do metodo na documentacao)
string [] Caex.BullTool.Framework.User.IDriver.Probe ( ) -
No java fiz assim: public class DllExample { public interface Framework extends Library { public String [] Probe (); }
public static void main(String[] args) { Framework libFramework = (Framework) Native.loadLibrary(“C://Marcelo//teste//framework”, Framework.class); libFramework.Probe(); } }
Isso ja me gera um erro:
Exception in thread “main” java.lang.UnsatisfiedLinkError: Error looking up function ‘Probe’: Não foi possível encontrar o procedimento especificado.
- Na especificacao da dll existem diversas classes como abaixo:
- Caex.BullTool.Framework.User.IInfrastruc
exemplo de metodos da Classe IInfrastruc
uint [] Caex.BullTool.Framework.User.IInfrastruct.Query(string field,object value)
List Caex.BullTool.Framework.User.IInfrastruct.ConfigSyncd ( uint uid )
Imagine que existe outra classe com o mesmo nome dos metodos que citei. Como eu faço para dizer o metodo de uma classe no java?
Agradeço a ajuda.
[]´s
Marcelo