Acho que a melhor maneira e' voce fazer um wrapper em C para as funcoes de 
callback. Assim, voce passa para a api da dll um ponteiro para uma funcao em C, 
que simplesmente chama um metodo Java.
Na verdade, acho que nao existe outro meio de se implementar isso, pois para a 
dll chamar a funcao de callback, tambem e necessario faze-lo atraves da JNI.

Uma outra alternativa e' acessar diretamente o dispositivo de leitura, se o 
protocolo de comunicacao nao for muito complexo, e o dispositivo estiver 
conectado numa porta serial ou paralela. Usando a Communications API, isso e' 
mais facil do que pode parecer. Eu fiz um programinha para acessar uma 
impressora termica, daquelas de shopping centers.


> Date: Tue, 19 Jan 1999 14:29:57 -0200
> From: Frederico Charles Simplicio Faria <[EMAIL PROTECTED]>
> To: [EMAIL PROTECTED]
> Cc: [EMAIL PROTECTED]
> Subject: Re: Endere�os de m�todos em Java como obt�-los???????
> 
> 
> 
> F&G escreveu:
> 
> >  Bem pessoal, eu gosto de Java e eu gostaria desenvolver qualquer tipo
> > de aplica��o para qualquer plataforma utilizando esta linguagem.
> > Apesar de eu conhecer C e C++ acho Java menos carregada sintaticamente
> > do que estas linguagens. Nesta semana eu estou tendo uma experi�ncia
> > bastante interessante. Um (futuro) cliente quer desenvolver aplica��es
> > para plataforma windows de um dispositivo para leitura de de
> > impress�es digitais. O fabricante do equipamento fornece um sdk que
> > s�o dlls para desenvolever tais aplica��es.Portanto, se eu for usar
> > Java, terei que implementar m�todos nativos para chamar as fun��es
> > desta dll. O problema � que algumas das fun�oes s�o utilizadas para
> > passar fun��es de "call Back".Resumindo, eu terei que passar  o
> > endere�o de um m�todo em Java ( a fun��o de call back). Como obter o
> > endere�o de um m�todo definido em Java ? Quando se pensa em m�todos
> > nativos � sempre no sentido de implentar um m�todo de Java em C. O
> > problema inverso , isto �, � dada uma fun��o  C e se deseja cham�-la
> > atrav�s de um m�todo (est�tico) n�o � enfatizado. Por exemplo digamos
> > que nesta  dll tenha uma fun��o cujo prot�tipo
> > seja                                       int * f(int * a); Como
> > seria  assinatura do corresponderte m�todo est�tico nativo em Java ?
> > Digamos que nesta dll tenha uma estrutura por exemplo:
> > typedef  void (*FUN)(int);       struct qualquer
> > {                               FUN x;                            };
> > Como seria a correspondente classe em Java ?
> 
> 
>  A especifica��o JNI  fornece uma API para  invocar metodos de Java em
> c�digo nativo. Agora � claro
> que n�o � poss�vel gerar a partir de um m�todo nativo a assinatura para
> um m�todo Java. Imagine se a Sun
> tivesse que se ocupar com gera��o de assinatura para toda linguagem
> nativa ?!
> 
> Te,
> 
> Fred.
> 
> 

--
Eduardo Issao Ito <[EMAIL PROTECTED]>
System Engineer, Sun do Brasil
Tel. 5181-8988 ext 58291

"More computing sins are committed in the name of efficiency (without
necessarily achieving it) than for any other single reason - including blind
stupidity."
- W.A. Wulf

* Para nao receber mais e-mails da lista, acesse 
<http://www.sun.com.br:8080/guest/RemoteAvailableLists>, coloque seu e-mail, escolha a 
lista <[EMAIL PROTECTED]> e de um <submit>.

Responder a