Bom dia !
Pessoal , preciso de uma ajudinha
é possivel listar os metodos existentes em uma dll usando JNI?
O problema é o seguinte tenho uma dll que estou acessando normalmente , porem não tenho o layout dessa dll
que me retorne os metodos e seus argumentos , e gostaria de saber se é possivel usando JNI listar os metodos dessa dll , se existe algum metodo que faça isso
Att JavaX
Depende do tipo de DLL.
Se for uma DLL que você pode acessar via JNI de maneira simples (ou seja, incluindo o arquivo .h e o .lib correspondentes dessa DLL), não é possível listar os parâmetros, porque eles não são gravados na DLL. (que peninha
)
Se for uma DLL COM ou ActiveX (ou seja, aquelas que requerem que você use um regsvr32 para funcionarem, mais conhecidas como DLLs registradas, e que normalmente são escritas em VB 6 ou Delphi, às vezes em C++), é difícil chamá-las via JNI, você precisa de uma biblioteca como o Jacob. Esse tipo de DLL contém um recurso chamado “TLB”, que é uma listagem dos métodos.
Se for uma DLL .NET, também é difícil chamá-las via JNI e você precisa de alguma ponte Java -> .NET para funcionarem. Essas DLLs podem também ter seus métodos listados.
[quote=entanglement]Depende do tipo de DLL.
Se for uma DLL que você pode acessar via JNI de maneira simples (ou seja, incluindo o arquivo .h e o .lib correspondentes dessa DLL), não é possível listar os parâmetros, porque eles não são gravados na DLL. (que peninha
)
Se for uma DLL COM ou ActiveX (ou seja, aquelas que requerem que você use um regsvr32 para funcionarem, mais conhecidas como DLLs registradas, e que normalmente são escritas em VB 6 ou Delphi, às vezes em C++), é difícil chamá-las via JNI, você precisa de uma biblioteca como o Jacob. Esse tipo de DLL contém um recurso chamado “TLB”, que é uma listagem dos métodos.
Se for uma DLL .NET, também é difícil chamá-las via JNI e você precisa de alguma ponte Java -> .NET para funcionarem. Essas DLLs podem também ter seus métodos listados. [/quote]
Obrigado, entanglement pelo retorno , sei que a dll que estou usando é feita em c++, segundo o frabricante e que não é do tipo registrada
Att ,
Até aí você pode ter um cenário complexo. Vamos dar um exemplo bobo.
Digamos que a DLL tenha um método assim:
__dllspec (__dllexport) std::string converterParaString (int x);
Você obrigatoriamente terá de ter o .h e o .lib dessa biblioteca para poder linká-la com seu código JNI.
Fale com o fabricante, ele precisa lhe dar o .h e o .lib 
[quote=entanglement]Até aí você pode ter um cenário complexo. Vamos dar um exemplo bobo.
Digamos que a DLL tenha um método assim:
__dllspec (__dllexport) std::string converterParaString (int x);
Você obrigatoriamente terá de ter o .h e o .lib dessa biblioteca para poder linká-la com seu código JNI.
Fale com o fabricante, ele precisa lhe dar o .h e o .lib :)[/quote]
vlw , tranquilo vou buscar os outros arquivos
att,