tamtam12
Messages postés1Date d'inscriptionjeudi 17 mars 2011StatutMembreDernière intervention17 mars 2011
-
17 mars 2011 à 12:22
kamalkane
Messages postés11Date d'inscriptionjeudi 26 novembre 2009StatutMembreDernière intervention20 mars 2013
-
20 mars 2013 à 17:20
Bonjour,
Je souhaite transformer des fonctions qui sont dans un dll inaccessible compilé en C en méthode Java pour les exploiter dans mon programme en java. Pour cela j'utilise le JNA (Java native access), j'ai réussi à extraire quelque méthodes mail j'en ai une qui donne pas le bon résultat qui est la suivante:
My method is (declarée en VB6):
Declare Function rsiGetLastTemplate Lib "rsidll32" ( ByVal chnl As Long, ByRef tmpl As RSI_LAST_TEMPLATE) As Long
avec la structure:
Type RSI_LAST_TEMPLATE
score As RSI_SCORE
templateVector As RSI_TEMPLATE
End Type
RSI_SCORE et RSI_TEMPLATE sont aussi deux structures :
Type RSI_SCORE
score As Integer
End Type
Type RSI_TEMPLATE
template(0 To RSI_LEN_TEMPLATE - 1) As Byte
End Type
public class RSI_SCORE extends Structure{
public int score;
}
public class RSI_TEMPLATE extends Structure{
public int[] template= new int [9];
}
public class RSI_LAST_TEMPLATE extends Structure {
public static class ByReference extends RSI_LAST_TEMPLATE implements Structure.ByReference { }
public RSI_SCORE Score= new RSI_SCORE();
public RSI_TEMPLATE templateVector= new RSI_TEMPLATE();
}
public int rsiGetLastTemplate(int mChnl, RSI_LAST_TEMPLATE.ByReference Template);
}
Dans mon main:
JNADemo rsi= JNADemo.INSTANCE;
JNADemo.RSI_LAST_TEMPLATE.ByReference Template = new JNADemo.RSI_LAST_TEMPLATE.ByReference();
rsi.rsiGetLastTemplate(chnl, Template);
System.out.println("The Score is = " + Template.Score.score)
Au niveau de la compilation il y a pas des erreurs mais la fonction ne retourne pas la meme valeur retournée quant je l'exécute dans le même programme avec VB. Il y a donc une erreur!! moi je crois que c'est dans les structures..
Est ce que quelqu'un peut m'aider?!
Sinon y a t-il autre moyen d'extraire ces fonction a part JNA et JNI?!!
Merci d'avance
kamalkane
Messages postés11Date d'inscriptionjeudi 26 novembre 2009StatutMembreDernière intervention20 mars 2013 20 mars 2013 à 17:20
Bonjour, moi aussi j'ai un dll écrit en C++ dont je voudrai récupérer en java avec l'API JNA.
Si vous pouvez m'aider sur la manière dont on les récupèrent.