Java - JNI

 
Vista:

JNI

Publicado por Deivith (2 intervenciones) el 16/06/2004 17:31:54
Hola a Todos. Tengo el siguiente problema y queria saber si alguien conocia la respuesta.
Estuve leyendo mucho sobre JNI y buscando ejemplos, en todos ellos se explica como linkear metodos C/C++ desde Java, claro que se explica la creación de la Dll y del codigo Java.
Mi problema es el siguiente. Yo tengo una Dll que lo unico que se de ella es que esta programada en C y conozco los nombres de los métodos. La Dll no fue creada con el proposito de ser linkeada desde un programa Java, puedo realizar de igual forma el linkeo sin tener que tocar el codigo de la Dll? (cabe mencionar que tampoco tengo el código :( ).

Muchas gracias y si alguno conoce la respuesta le agradeceria me lo diga ya que es de urgencia.

Saludos
Deivith.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 755
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

RE:JNI

Publicado por Yamil Bracho (2315 intervenciones) el 16/06/2004 18:04:43
No puedes sin ayuda de otro producto. Si solo vas a usar JNI, debes crear una DLL intermedia en C que reciba los parametros de Java y que tenga el hedaer del JNI y que llame a las verdaderas funciones en la DLL que ya tienes...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:JNI

Publicado por Deivith (2 intervenciones) el 17/06/2004 14:45:33
Muchas Gracias .... Estaba esperando esta confirmación... y tu idea me parece lo mas viable...voy a proponer esa solucion.

Gracias por responder tan rapido.

Deivith
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:JNI

Publicado por jotase (1 intervención) el 13/05/2005 17:16:40
Si ese es el camino, ahora tengo una pregunta para un problema muy parecido que se me presento con una dll escrita en object pascal (delphi). Ha una procedura:
procedure SetEventProc(Ctx: Cardinal; EventProc: TEventProc); far; stdcall;

TEventProc es un tipo de procedura; es decir en la procedura se pasa el puntero de otra procedura. Ella no ejecuta esta procedura, solo graba la direccion o puntero
de esta procedura que sera ejecutada mas tarde cuando se ejecute un evento.

Mi problema es como pasar el puntero desde Java, pues no existen punteros en Java. Pasar un objeto que contenga esta procedura como metodo no daria resultado ya que
el metodo no se ejecuta solo se graba el puntero para llamarla despues cuando sea necesario.

Tiene alguien a esto la respuesta?

Gracis de antemano!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayudenme con esto...

Publicado por manuel (1 intervención) el 21/02/2006 01:04:47
hola a toda la gente amante de java bueno (yo tambien me considero uno de esas personas....) bueno yo tengo un problema con los dll y es que al llamarla desde java me aparece un error donde me indica que no es una dll permitida o una cosa asi
entonces que puedo hacer? creo que al momento de crearla hago algo mal
me despido gente ahh y si pueden responderme al correo seria mejor
Gracias anticipadas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar