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 :

Utiliser des DLL en Java


Sujet :

Java

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 16
    Points : 15
    Points
    15
    Par défaut Utiliser des DLL en Java
    Est il possible d'utiliser les méthodes d'une DLL avec java ? sachant que cette DLL utilise des union et des struct.
    Remarque: Les JNA et JNI ne supportent que les fonction natives.

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Ben oui, par définition, une dll c'est un ensemble de fonctions natives hein


    donc si il y a des méthodes de ta DLL qui t'intéresse, je te suggère d'utiliser JNA, qui est bien plus simple que JNI.

  3. #3
    Membre à l'essai
    Inscrit en
    Août 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 16
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Ben oui, par définition, une dll c'est un ensemble de fonctions natives hein


    donc si il y a des méthodes de ta DLL qui t'intéresse, je te suggère d'utiliser JNA, qui est bien plus simple que JNI.
    J'ai utilisé JNA mais ce qui me bloque c'est que les méthodes utilisent des argument de type MMMsg

    ------------------------------------


    typedef struct
    {
    long Length;
    short Type;
    union
    {
    MMConxReq ConxReq;
    MMStartNack StartNack;
    MMSrvcMsg SrvcMsg;
    MMDsptchMsg DsptchMsg;
    MMRcnxReq RcnxReq;
    } Data;
    Ticks TimeStamp;
    } MMMsg;

    ---------------------

    Donc comment faire pour accepter ce genre de argument a partir de java?

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    je connais pas les détails de JNA, mais je vois dans l'api qu'il y a la classe "Structure" pour gérer les struct*
    http://jna.java.net/javadoc/com/sun/jna/Structure.html

    et un exemple ici
    http://stackoverflow.com/questions/4...ointer-mapping

    y a aussi un peu de doc ici
    http://mbaron.developpez.com/javase/jnijna/

Discussions similaires

  1. utilisation des dll
    Par od.dev dans le forum Delphi
    Réponses: 12
    Dernier message: 15/01/2007, 11h19
  2. Pourquoi inclure des .lib pour utiliser des DLLs système?
    Par NicolasJolet dans le forum Windows
    Réponses: 4
    Dernier message: 08/08/2006, 14h59
  3. Executable utilisant des DLLs et des LIB
    Par beb30 dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/08/2006, 10h51
  4. creer et utiliser des DLL
    Par couturier dans le forum MFC
    Réponses: 26
    Dernier message: 24/08/2005, 09h16
  5. [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

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