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

Entrée/Sortie Java Discussion :

JNA utilisation d'une DLL C++


Sujet :

Entrée/Sortie Java

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut JNA utilisation d'une DLL C++
    bonjour tout le monde,
    en utilisant une dll écrit en C++ j'ai rencontré une exception que je n'arrive pas à résoudre: java.lang.ClassCastException: lecteur.$proxy0 cannot be cast to com.sun.jna.Library
    ma classe est la suivante:
    package lecteur;
    import java.util.HashMap; // pour le mappage des fonctions de la dll
    import com.sun.jna.Library;
    import com.sun.jna.Native;
    import com.sun.jna.win32.StdCallLibrary;
    public class Lecteur {

    interface NativeInterface extends StdCallLibrary.StdCallCallback {
    boolean GetApiErrorString( String pcErrorString, int mxLen );
    }

    public static void main(String[] args) {

    HashMap<String, Object> nameMapping = new HashMap<String, Object> ();
    nameMapping.put(Library.OPTION_FUNCTION_MAPPER, StdCallLibrary.FUNCTION_MAPPER);
    nameMapping.put(Library.OPTION_CALLING_CONVENTION, StdCallLibrary.STDCALL_CONVENTION);
    NativeInterface instanceInterface = (NativeInterface) Native.loadLibrary ("MVXAPI", NativeInterface.class, nameMapping); //chargement de la dl
    String pcErrorString= "AOD";
    int MaxLen = 275;
    System.out.println(instanceInterface.GetApiErrorString(pcErrorString, MaxLen)); // appel de la méthode GetApiErrorString de la dll

    }

    }
    Je suis bloqué depuis une semaine. j'ai besoin de votre aide.
    Merci d'avance.

  2. #2
    Membre régulier Avatar de scorbo
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 176
    Points : 83
    Points
    83
    Par défaut
    Bonjour,

    Comment as-tu obtenu ce code ? Tu l'as écris à la main ? Je te conseille d'utiliser JNAerator qui générera une grosse partie du code et sera une bonne base pour continuer.

    Je trouve ça étonnant que tu appelles une fonction de callback directement. Normalement ce n'est pas à toi de le faire.

Discussions similaires

  1. Utilisation d'une dll de ClearCase (IBM)
    Par il_a_ri dans le forum Outils
    Réponses: 6
    Dernier message: 28/11/2005, 15h29
  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