IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

[Débutant]utilisation d'une DLL


Sujet :

Java

  1. #1
    Membre régulier Avatar de Yanos
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 160
    Points : 121
    Points
    121
    Par défaut [Débutant]utilisation d'une DLL
    Bonjour,

    j'ai trouvé plusieurs source pour m'aider sur mon projet


    J'ai pu configurer le JAR grâce à ce topic
    http://www.developpez.net/forums/vie...&view=previous

    mais je ne sais pas comment inclure la DLL correspondante donc j'ai toujours une liste d'erreur. Et pourtant je ne suis qu'en train d'experimenter l'exemple!!!

    donc je vous donne le code mais je suis bien ennuyé là


    import java.io.*;
    import java.util.*;
    import javax.comm.*;
    import com.sun.comm.Win32Driver;

    public class Test_communication {

    public static void main(String[] args) {
    //initialisation du driver
    Win32Driver w32Driver= new Win32Driver();
    w32Driver.initialize();


    //récupération de l'énumération
    Enumeration portList=CommPortIdentifier.getPortIdentifiers();

    //affichage des noms des ports
    CommPortIdentifier portId;
    while (portList.hasMoreElements()){
    portId=(CommPortIdentifier)portList.nextElement();
    System.out.println(portId.getName());
    }
    }

    }

  2. #2
    Membre régulier Avatar de Gromitou
    Profil pro
    Inscrit en
    Février 2003
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Février 2003
    Messages : 98
    Points : 81
    Points
    81
    Par défaut
    On t'as répondu a ta question dans le forum Eclispe ...

    http://www.developpez.net/forums/viewtopic.php?t=463894

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 17
    Points : 18
    Points
    18
    Par défaut
    Apparemment, tu veux utiliser la bibliothéque "javax.comm" de sun.

    tu copies le fichier
    • "win32com.dll" dans le dossier "bin" de java

    • "javax.comm.properties" dans le dossier "lib" de java

    • "comm.jar" dans le dossier "lib\ext" de java


    Par exemple si java est intallé dans le dossier "C:\Program Files\Java\jre1.5.0"
    Tu dois avoir :
    • "win32com.dll" dans "C:\Program Files\Java\jre1.5.0\bin\"

    • "javax.comm.properties" dans "C:\Program Files\Java\jre1.5.0\lib\"

    • "comm.jar" dans "C:\Program Files\Java\jre1.5.0\lib\ext\"


    Une fois que tu as copié ces fichiers, relance ton appli, ça devrais fonctionner maintenant.

  4. #4
    Membre régulier Avatar de Yanos
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 160
    Points : 121
    Points
    121
    Par défaut
    C'est au niveau de l'import que je suis bloqué
    import com.sun.comm.Win32Driver;
    par contre je n'avais pas de répertoire lib/ext
    je tente ce que tu as dit

  5. #5
    Membre régulier Avatar de Yanos
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 160
    Points : 121
    Points
    121
    Par défaut
    j'ai toujours la même erreur

    Exception in thread "main" java.lang.Error: Unresolved compilation problems:
    Win32Driver cannot be resolved to a type
    Win32Driver cannot be resolved to a type

    at communication.main(communication.java:19)
    je ne vois vraiment pas ce qui peut empécher la librairie d'être vue
    car j'ai placé tout les fichiers comme il faut mais c'est comme si le compilateur ne voyait pas le DLL

  6. #6
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Points : 1 996
    Points
    1 996
    Par défaut Re: [Débutant]utilisation d'une DLL
    Citation Envoyé par Yanos
    Bonjour,

    j'ai trouvé plusieurs source pour m'aider sur mon projet


    J'ai pu configurer le JAR grâce à ce topic
    http://www.developpez.net/forums/vie...&view=previous

    mais je ne sais pas comment inclure la DLL correspondante donc j'ai toujours une liste d'erreur. Et pourtant je ne suis qu'en train d'experimenter l'exemple!!!

    donc je vous donne le code mais je suis bien ennuyé là


    import java.io.*;
    import java.util.*;
    import javax.comm.*;
    import com.sun.comm.Win32Driver;

    public class Test_communication {

    public static void main(String[] args) {
    //initialisation du driver
    Win32Driver w32Driver= new Win32Driver();
    w32Driver.initialize();


    //récupération de l'énumération
    Enumeration portList=CommPortIdentifier.getPortIdentifiers();

    //affichage des noms des ports
    CommPortIdentifier portId;
    while (portList.hasMoreElements()){
    portId=(CommPortIdentifier)portList.nextElement();
    System.out.println(portId.getName());
    }
    }

    }
    Supprime le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Win32Driver w32Driver= new Win32Driver();
    w32Driver.initialize();
    Ce n'est pas de ta responsabilité de gérer la dll (fort heureusement)

  7. #7
    Membre régulier Avatar de Yanos
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 160
    Points : 121
    Points
    121
    Par défaut
    donc je retire aussi
    import com.sun.comm.Win32Driver;
    :

    C'est ce qui correspond à ces lignes de code si je ne me trompe pas

  8. #8
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Points : 1 996
    Points
    1 996
    Par défaut
    Citation Envoyé par Yanos
    donc je retire aussi
    import com.sun.comm.Win32Driver;
    :

    C'est ce qui correspond à ces lignes de code si je ne me trompe pas
    Oui, retire aussi cette ligne

  9. #9
    Membre régulier Avatar de Yanos
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 160
    Points : 121
    Points
    121
    Par défaut
    je n'ai plus de problème avec le driver mais maintenant il ne me dit que le main n'existe pas

    voilà l'erreur
    Error loading LinuxSerialParallel: java.lang.UnsatisfiedLinkError: no LinuxSerialParallel in java.library.path
    Exception in thread "main" java.lang.UnsatisfiedLinkError: isSessionActive
    at com.sun.comm.SunrayInfo.isSessionActive(Native Method)
    at com.sun.comm.Portmapping.registerCommPorts(Portmapping.java:155)
    at com.sun.comm.Portmapping.refreshPortDatabase(Portmapping.java:100)
    at javax.comm.CommPortIdentifier.<clinit>(CommPortIdentifier.java:138)
    at Communication.main(Communication.java:24)
    je n'ai pourtant qu'un seul fichier java et j'ai mis les bibliothèque SO qui referencent LinuxSerialParallel dans mon JDK.../lib

    les noms des deux fichiers sont
    libLinuxSerialParallel.so
    libLinuxSerialParallel_g.so

    ça ne pourrait pas être une erreur de nom?
    Rien n'est marqué sur l'utilisation des fichiers SO dans le tutorial de Christophe et je n'ai rien trouvé dans Eclipse en ce qui concerne les fichiers SO


    (et tout ça pour afficher la liste des ports )

    Edit: j'ai vu sur le forum de Sun en anglais qu'il fallait peut-être tester de mettre ces fichiers dans JDK.../lib/i386

  10. #10
    Membre régulier Avatar de Yanos
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 160
    Points : 121
    Points
    121
    Par défaut
    non j'ai toujour la même erreur... je vois pas

    Réponse dans ce topic réponse

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/11/2005, 15h10
  2. Réponses: 6
    Dernier message: 21/06/2005, 21h45
  3. [DLL] Utilisation d'une DLL pour utiliser serveur Firebird
    Par sekiryou dans le forum Bases de données
    Réponses: 2
    Dernier message: 11/08/2004, 14h20
  4. [Info]Utilisation d'une Dll
    Par Assiobal dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 11/06/2004, 21h46
  5. Utilisation d'une dll écrite en delphi 5 dans VB6
    Par Jean-Louis dans le forum Langage
    Réponses: 4
    Dernier message: 05/08/2002, 09h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo