Problème de passage de paramètres entre C et java avec JNA
aurhas
Messages postés16Date d'inscriptionmardi 3 novembre 2009StatutMembreDernière intervention 3 juin 2010
-
26 mai 2010 à 11:42
aurhas
Messages postés16Date d'inscriptionmardi 3 novembre 2009StatutMembreDernière intervention 3 juin 2010
-
26 mai 2010 à 15:08
Bonjour,
après de nombreuses tentatives, j'ai réussi à utiliser des fonctions, que j'ai créées dans une DLL en C, avec java grâce à JNA. Cependant, je n'arrive pas à échanger de paramètre comme il le faudrait.
J'ai par exemple une fonction en C :
Je voudrais donc passer comme paramètres ftHandle et numTrame et récupérer un float, type et module.
Mais seule la valeur float est correctement retournée, idem avec toutes mes fonctions dont les prototypes sont semblables.
A quoi cela est du ? Ma façon de déclarer les fonctions dans java est elle incorrecte ? Comment passe-t-on des pointeurs ?
Merci d'avance de vos réponses qui j'en suis sûr me feront progresser.
A voir également:
Problème de passage de paramètres entre C et java avec JNA
aurhas
Messages postés16Date d'inscriptionmardi 3 novembre 2009StatutMembreDernière intervention 3 juin 2010 26 mai 2010 à 15:08
je reviens après d'autres tentatives...
avec le même code C que précédemment, voici la déclaration de ma fonction sous java :
public float read_CAN (int ftHandle, short numTrame, ShortByReference type, short module);
Cependant cela ne fonctionne pas non plus puisque si j'initialise la valeur pointée par type à 10 par exemple, la valeur est inchangée.
idem en mettant ByteBuffer...