[résolu][dll] ... et java
Bonjour tout le monde,
Je dois réaliser une application pour ecrire des données sur une carte magnétique via un "encoder" connecté sur un port série. Le fabricant fournit une dll pour gerer les opérations. Apres qques recherches je trouve un exemple qui montre comment charger cette dll et utiliser les méthodes en code natif qu'elle contient.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| public class TestDLL {
private native int Init_com(String conf);
static {
System.loadLibrary("card");
}
public static void main(String[] args) {
try {
System.out.println("retour fct Init_com: "+new TestDLL().Init_com("1,9600,N,8,1"));
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
} |
Apparement la dll se charge convenablement mais un probleme se pose quand je veux éxécuter le méthode Init_com et voici l'execption levée :
Code:
1 2 3
| Exception in thread "main" java.lang.UnsatisfiedLinkError: Init_com
at TestDLL._reset(Native Method)
at TestDLL.main(TestDLL.java:21) |
Je tiens à préciser que je n'ai pas encore l'appareil MAIS cette fonction, Init_com, devrait me renvoyé 0 en cas de probleme de communication.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| Initial function
1) Init_com(sett:pchar):integer
Function:Initial serial port
Return:Integer
= 1:Success
0:Communication failed。
-1:Port is being occupied。
-3:Invalid configuration 。 |
Alors voila :
Je me demande si on peut utiliser comme ca des dll "extérieures"(sans utiliser JNI pour les construire) ou si je m'y prend mal pour accéder aux fonctions natives.
Tout les docs que je trouve me montre comment construire moi meme ma dll avec JNI et jamais une utilisation d'une dll déjà existante.
J'ai besoin d'un éclaircissement, merci pour votre aide.
Fred.