Java - NUllPointer en JNA

   
Vista:

NUllPointer en JNA

Publicado por Salva (2 intervenciones) el 11/02/2011 11:52:52
Hola,

Tengo una función en C que tengo que importar a Java con JNA pero me da java.lang.NullPointerException

Get_Next_Message_RTM_Px (int handle, struct MONMSG *msgptr, usint *param3)

siendo:

INPUT handle
OUTPUT los otros 2 parámetros

struct MONMSG {
usint msgstatus;
unsigned long elapsedtime;
unsigned int words [36];
}

La definición de la función que he hecho en la interfaz es:

Get_Next_Message_RTM_Px (int handle, MonMsg msgptr, int param);

me he creado pues una clase en Java tal que:

import com.sun.jna.Structure;

public class MonMsg extends Structure{

public short msgStatus;
public int elapsedTime;
public short [] words = new short [36];
}

y luego desde la clase principal he declarado:

private int handle, msgaddr;

MonMsg monmsg = new MonMsg();

Get_Next_Message_RTM_Px(handle, monmsg, msgaddr);

A ver si algún experto me peude ehcar un cable. Thanks!!
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

RE:NUllPointer en JNA

Publicado por aitor (86 intervenciones) el 11/02/2011 22:36:23
en java al crear una clase necesitas crear un constructor con paso de parametros, contesto desde el movil y no puedo programarlo
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
mira la respuesta en:

http://www.supercodigo.es/index.php?option=com_kunena&func=view&catid=2&id=4&Itemid=2
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:NUllPointer en JNA

Publicado por Salva (2 intervenciones) el 14/02/2011 11:22:18
Pues lo he probado y no va :s

Tengo un ejemplo ya hecho y que si funciona y por eso lo segui para hacer esta clase:

Get_Next_RT_Message_Px (int handle, struct CMDENTRYRT
*cmdstruct)

En java se ha creado una clase -->

import com.sun.jna.Structure;

public class CmdEntryRT extends Structure {

public short command; /* 1553 command word */
public short command2; /* 1553 transmit command word for RT to RT messages */
public short timetaghi; /* time in microseconds between this message and the
last one. Not meaningful for the first command. */
public short timetaglo;
public short status;

}

Y se ha implementado la función tal que --->

int Get_Next_RT_Message_Px (int handle, CmdEntryRT cmdstruct);

La llamada en al principal queda -->

CmdEntryRT rtcmdRT = new CmdEntryRT();

status = Get_Next_RT_Message_Px(handle, rtcmdRT);

Y aqui si funciona, asi que no se muy bien como abordarlo. Ya que como ves no hay constructores definidos en la clase como me comentabas

Un saludo.
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