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

Eclipse Java Discussion :

[Info] Comment utiliser un DLL


Sujet :

Eclipse Java

  1. #21
    Membre averti Avatar de Jean-Philippe Shields
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2005
    Messages : 278
    Points : 340
    Points
    340
    Par défaut
    Comme plégat a fait le travail, on le remercie, . lâche pas Yanos.
    RCP rulez!

  2. #22
    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
    Bon bah ça me fait une bonne nouvelle déjà car ça prouve que ça fonctionne. Merci beaucoup les gars

    On dirait que tu compiles à la main. Est-ce que les commandes styles javac sont reconnues par une invite de commande DOS si j'ai seulement installé Eclipse. Je me dis que c'est peut-être les limites d'Eclipse qui ne reconnait pas les DLL.

    Je vais tenter cet aprèm (argh le temps me manque )

  3. #23
    Membre averti Avatar de Jean-Philippe Shields
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2005
    Messages : 278
    Points : 340
    Points
    340
    Par défaut
    Yanos, javac.exe est un exécutable faisant partir du JDK ou JRE de sun. Ça ne fait pas partie d'Eclipse, c'est ce qui te permet (java.exe et javaw.exe) de rouler un programme java tout simplement (c'est la machine virtuelle qui interprète tes fichiers .class). Javac.exe est le compilateur qui va prendre tes fichiers .java et les transformer en .class.
    RCP rulez!

  4. #24
    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
    Oui je développais en Java sous Linux avant mais c'était de simple API et donc je compilais à la main comme tu décris.

    Mais on m'a dit qu'avec Eclipse ça compilait au fur et à mesure, alors ça doit être un abus de langage ou bien je n'ai pas encore tout saisie sous Windows (ce qui ne m'étonnerait pas )

    Enfin vous inquiétez pas j'ai bien installé tout ce qui faut.
    Sinon je vous donne pas la réponse tout de suite car j'ai pas encore eu le temps (satané boulot )


  5. #25
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 638
    Points
    7 638
    Par défaut
    Citation Envoyé par Yanos
    Est-ce que les commandes styles javac sont reconnues par une invite de commande DOS si j'ai seulement installé Eclipse.
    Euh... je ne sais pas! Faut tester! Normalement, si tu as installé un JDK en plus d'Eclipse, la commande java sera obligatoirement (...hum... je m'avance peut-être mais bon...) reconnue, car l'installation place une copie de java.exe dans le répertoire windows/system32 (donc dans le path windows). Pour la commande javac, ce n'est pas le cas, et donc, si elle n'est pas reconnue, il faudra modifier ta variable d'environnement PATH en y ajoutant le chemin vers le répertoire /bin de ton JDK (ça, c'est un soucis de débutant qui revient souvent, avec une petite recherche avancée sur le forum "Général Java", mot-clefs "variable environnement", tu devrais trouver ton bonheur!)

    Citation Envoyé par Yanos
    Je me dis que c'est peut-être les limites d'Eclipse qui ne reconnait pas les DLL.
    Le problème, avec Eclipse, comme Netbeans, et sans doute d'autres, c'est que tu penses toujours que l'application se lance depuis tel répertoire, et que donc elle trouvera les dll, ou les autres ressources forcément, parce que tu lui a mis le chemin qui allait bien... mais très souvent, le répertoire de lancement n'est pas celui qu'on croit, et ça met tout par terre. Donc, à la limite, toujours vérifier au lancement de l'application dans quel répertoire on est... ça permet d'éviter des recherches laborieuses d'erreur là où il n'y en a pas.


    Citation Envoyé par Yanos
    On dirait que tu compiles à la main
    Quand je n'ai qu'une classe à compiler, oui, je le fais en manuel, ça prend moins de temps que de lancer l'artillerie lourde! Sinon, dès que je dois avancer mes projets un peu plus velus, j'utilise Netbeans... ou Eclipse si il n'y a pas d'IHM à faire.

    Citation Envoyé par Yanos
    Mais on m'a dit qu'avec Eclipse ça compilait au fur et à mesure
    Par défaut, oui. C'est une option que tu peux désactiver si un jour ça t'agace...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  6. #26
    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
    alors j'ai fait la compilation à partir de mon projet dans mon workspace

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "C:\Program Files\Java\jdk1.5.0_06\bin\javac.exe" -classpath "C:\Program Files\Java\jdk1.5.0_06\lib\comm.jar" communication.java
    (je ne sais pas à quoi servait ton ".;" , avec et sans ça ne semble rien changer )

    ça compile sans bug

    par contre je le lance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "C:\Program Files\Java\jdk1.5.0_06\bin\java.exe" -classpath "C:\Program Files\Java\jdk1.5.0_06\lib\comm.jar" communication
    et là j'ai un crash ... qui ma foi ressemble beaucoup à celui que j'avais dans éclipse

    Exception in thread "main" java.lang.NoClassDefFoundError: Communication

    Est-ce que tu as essayé le programme avec le bout de code que j'avais donné au début?

  7. #27
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 638
    Points
    7 638
    Par défaut
    Citation Envoyé par Yanos
    je ne sais pas à quoi servait ton ".;" , avec et sans ça ne semble rien changer
    Citation Envoyé par Yanos
    et là j'ai un crash ...
    Ben maintenant au moins tu vois ce que ça change entre toi et moi!
    Moi je l'ai mis, et je n'ai pas eu de crash!

    Le ".;" inclut le répertoire courant dans le classpath. Autrement dit, si tu ne le mets pas, il n'ira pas voir dans le répertoire courant, et ira seulement chercher les classes dans le fichier "C:\Program Files\Java\jdk1.5.0_06\lib\comm.jar", où évidemment il ne trouvera pas ton main, vu que ce n'est pas là qu'il se trouve, d'où évidemment le message d'erreur.
    Donc tu le mets. Pour la commande javac, tu peux t'en passer, vu que tu lui fournis le nom du fichier java à compiler. Mais pour la commande java, tu le mets.

    Tu aurais au moins pu faire l'effort de vraiment tester TOUTE ma ligne de commande... Mais bon, c'est en se cassant la figure qu'on apprend à marcher!

    Citation Envoyé par Yanos
    Est-ce que tu as essayé le programme avec le bout de code que j'avais donné au début?
    Oui... mot pour mot...

    Citation Envoyé par Yanos
    qui ma foi ressemble beaucoup à celui que j'avais dans éclipse
    A la différence près qu'avant il ne trouvait pas la dll, et que maintenant il ne trouve pas le main....
    C'est toujours le même problème, tu lances ton programme sans lui spécifier où il peut trouver les ressources. Un coup c'est la dll, un autre c'est le main... tant que tu ne lui fourniras pas toutes les informations en même temps, tu auras une erreur...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  8. #28
    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
    En fait hier j'ai testé avec et sans le ".;". Je préfère reporter au lendemain plutôt que bâcler le boulot mais dans tout les cas j'avais un crash.
    Par contre je n'avais pas testé si le compilateur était sensible aux Majuscules/Minuscules et je crois bien que si. Les erreurs changent en fonction de ça. Donc j'ai bien respecté tout l'ensemble.
    J'ai aussi noté qu'un espace après le ".;" fait planter l'affaire

    Mais je dois me planter qq part quand même. Comme je le disais j'ai un crash dans tout les cas.

    Je recapitule ce que j'ai fais

    Je compile à partir de mon projet situé dans C:\doc[...]\workspace\Communication\Communication

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "C:\Program Files\Java\jdk1.5.0_06\bin\javac.exe" -classpath .;"C:\Program Files\Java\jdk1.5.0_06\lib\comm.jar" Communication.java
    ça compile sans erreur (dans tout les cas d'ailleurs)

    Par contre si je lance la commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "C:\Program Files\Java\jdk1.5.0_06\bin\java.exe" -classpath .;"C:\Program Files\Java\jdk1.5.0_06\lib\comm.jar" Communication
    j'obtiens sur ma fenêtre ce qui suit



    je continue de voir si j'ai pas fait une autre bourde

    ou bien je n'aurai qu'à me durcir le front

  9. #29
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 638
    Points
    7 638
    Par défaut
    Tu as mis la dll où?
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  10. #30
    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
    bein je l'ai mis partout ne sachant pas où il fallait le mettre (le DLL)

    c:\Documents and Settings\poste\workspace
    c:\Documents and Settings\poste\workspace\Communication
    c:\Documents and Settings\poste\workspace\Communication\Communication

    C:\Program Files\Java\jdk1.5.0_06\bin
    C:\Program Files\Java\jre1.5.0_06\bin
    C:\Windows\system32
    Avec toujours la même chose, il compile bien mais plante au lancement

    J'ai rien trouvé de particulier ormis que je ne comprends pas pourquoi j'ai comme erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "no LinuxSerialParallel in java.library.path"
    en tout cas je suis bien blasé, je crois que je vais abandonner

  11. #31
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 638
    Points
    7 638
    Par défaut
    Citation Envoyé par Yanos
    J'ai rien trouvé de particulier ormis que je ne comprends pas pourquoi j'ai comme erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "no LinuxSerialParallel in java.library.path"
    Si ça peut te rassurer l'espace de dix secondes, moi non plus je ne comprends pas!

    Citation Envoyé par Yanos
    en tout cas je suis bien blasé, je crois que je vais abandonner
    rah non, ne jamais abandonner!

    Bon, voyons voir...
    Est-ce que tu as supprimé tous les fichiers *.so que tu aurais pu mettre dans tes répertoires? (et évites de mettre les dll partout, tu vas te retrouver avec une vraie poubelle en guise de disque dur sinon à l'avenir...)
    En fait l'erreur ne vient pas de la dll, il la trouve bien maintenant... enfin, apparemment...

    Ensuite, histoire d'être sûr... as-tu vérifié que tu utilises le bon fichier javax.comm.properties?
    N'y aurait-il pas une ligne qui ferait référence à ce fameux "LinuxSerialParallel" dans la liste des drivers?

    Au fait, le message d'erreur fait référence à la ligne 24 du fichier Communication.java. Dans le code que tu as mis au début, ça pointe sur la dernière ligne... pourrais-tu préciser à quoi correspond la ligne 24 stp? (je présume que c'est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    portId=(CommPortIdentifier)portList.nextElement();
    mais c'est juste pour être sûr...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  12. #32
    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
    et bien j'ai tout pris dans le tutorial de Christophe Jolivet, donc mon petit programme ne fait que lister les ports disponibles et je pense que la ligne que tu cites dois correspondre à "Passes au port suivant".

    Et quand je pense que ce n'est qu'un test que j'essaye de compiler et que ça fait plus de 2 semaines maintenant que je suis dessus...

    J'avais déjà recomencé toute l'installation l'autre fois donc il n'y a plus de fichiers SO.

    Au début je n'avais mis le DLL que dans le répertoire system32 de windows, puis au fur et à mesure je l'ai copié dans le repertoire de mon projet, puis de mon main, puis dans le bin de JDK, puis dans le bin de JRE.

    mais mon erreur reste identique.



    pour ce qui est du javax.comm.properties j'ai seulement pris celui qui était dans le package. C'est vrai que je ne l'ai jamais ouvert donc je vais voir ce qu'il y a dedans

  13. #33
    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
    NNNNnnnooooooooooooonnnnnnnnnnnnnnnnn!!!!!!!!!!!!!!!!!!!!!

    voilà ce qu'il y a dans le properties

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # Implementation specific driver
    driver=com.sun.comm.LinuxDriver
     
    # Paths to server-side serial port devices
    serpath0 = /dev/ttyS0
    serpath1 = /dev/ttyS1
     
    # Paths to server-side parallel port devices
    parpath0 = /dev/parport0
    parpath1 = /dev/parport1
    je suis dégouté
    c'est configuré pour Linux ...
    bah oui mais il dit que c'est les exemples qui étaient configuré pour Windows, pas l'API en elle-même

    le tutorial de l'API Javax.comm

    Edit : j'essaye de changer le
    driver=com.sun.comm.LinuxDriver
    par
    driver=com.sun.comm.win32Driver

    et sinon pour les /dev/ je ne sais pas quoi mettre

  14. #34
    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
    bien j'ai trouvé qu'il y avait peut-être une version plus récente et donc peut-être qu'elle est bien configurée.

    https://sdlc2a.sun.com/ECom/EComActi...FE232D5B08E653

    Car j'ai essayé avec ma solution en changeant le ficher javax.comm.properties comme suis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # Implementation specific driver
    driver=com.sun.comm.Win32Driver
     
    # Paths to server-side serial port devices
    serpath0 = /COM1
    serpath1 = /COM2
     
    # Paths to server-side parallel port devices
    parpath0 = /LPT1
    parpath1 = /LPT2
    en plus il peut y avoir des machines (comme mon portable) qui peuvent avoir jusqu'à 7 port COM, ou interprété en tant que tel.

    Mais malheureusement ça ne marche pas,

    ça me met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Error instantiating class com.sun.comm.win32Driver
    bref je pense que j'ai écris une grosse bétise enfin j'ai essayé au moins


    Edit : non même pas puisque dans le properties que je viens de télécharger c'est exactement ce qui est mis dedans
    de plus le comm.jar semble être différent

  15. #35
    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ésolé je vais flooder mais .... avec le nouveau package ->>



    YYYEEESSS





    un grand merci pour m'avoir aidé jusqu'au bout

    je vais pouvoir prouver au boss que j'ai avancé

    On se reverra surement quand je devrais faire passer des infos sur ce port lol

  16. #36
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 638
    Points
    7 638
    Par défaut
    Citation Envoyé par Yanos
    Car j'ai essayé avec ma solution en changeant le ficher javax.comm.properties comme suis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # Implementation specific driver
    driver=com.sun.comm.Win32Driver
     
    # Paths to server-side serial port devices
    serpath0 = /COM1
    serpath1 = /COM2
     
    # Paths to server-side parallel port devices
    parpath0 = /LPT1
    parpath1 = /LPT2
    en plus il peut y avoir des machines (comme mon portable) qui peuvent avoir jusqu'à 7 port COM, ou interprété en tant que tel.
    Essaye en mettant juste:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    # Implementation specific driver
    driver=com.sun.comm.Win32Driver
    dans le fichier properties, sans les serpth* et les parpath*.
    Celui du package que tu nous a mis en lien pour que l'on teste est définit comme cela...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  17. #37
    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
    oui en fait dans le nouveau package c'est exactement comme tu le dis (et ça marche). ça doit surement paraître evident d'aller dans le fichier de propriété mais je ne m'en étais jamais servi auparant donc je savais pas

    Maintenant je vais essayer de me connecter au port et de récupérer le flux dans un fichier.

    Si j'ai un problème je posterai directement dans Java vu que maintenant c'est bien configuré.

    Un grand merci à Plegat et à toi aussi JP

  18. #38
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut a propos de l'api com
    Bonjour,

    J'ai vu que vous aviez il y'a quelques temps un pb avec l'api com.
    Puis-je savoir commet t'as résolu le pb concernanat le msg
    Error instantiating class com.sun.comm.Win32Driver

    Merci.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. comment utiliser une DLL win32 en C??
    Par Jayceblaster dans le forum C
    Réponses: 8
    Dernier message: 31/03/2006, 12h49
  2. [IDE][VS2003] Comment utiliser la dll IO.Ports 2.0 ?
    Par fremsoi dans le forum Visual Studio
    Réponses: 2
    Dernier message: 26/03/2006, 21h03
  3. [C#] Comment utiliser des dll win 32 dans un projet .NET
    Par Mickey.jet dans le forum Delphi .NET
    Réponses: 2
    Dernier message: 31/05/2005, 13h45
  4. [Info]Comment utiliser un autre SDK sous Eclipse
    Par sbelli dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 15/04/2005, 17h12

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