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

MFC Discussion :

JNI/DLL - Extern C : Généralisation ?


Sujet :

MFC

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 78
    Points : 24
    Points
    24
    Par défaut JNI/DLL - Extern C : Généralisation ?
    Bonjour,

    j'utilise une dll A déjà codé dans un code java par l'intermédiaire de la JNI. Cela m'oblige à créer une dll intermédiaire qui fait le pont entre mon code java et ma dll A. Or ce code Extern C est spécifique à l'organisation de mon code java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    extern "C" {
    JNIEXPORT void JNICALL Java_MyCode_TestDll(JNIEnv * env, jobjec)
    	{
    		AfxMessageBox("Hello World from dll");	
    	}
    }
    En effet, suivant mon code précédent, je précise dans le JNIEXPORT le package (MyCode) et la class (TestDll) de mon code java.

    Ceci me pose un problème lorsque je veux réutiliser cette dll intermédiaire pour un autre code java, puisque je dois modifier ces champs (donc je refait une nouvelle dll intermédiaire).

    Y'a t'il un moyen de rendre général un tel code ?
    Je pensais pouvoir récuépérer le chemin du répértoire courant pour faire cela.

    Merci

  2. #2
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Salut,

    Tu ne peux pas reutiliser le code sans changer le nom dans java, en revanche, tu peux utiliser ta classe Mycode dans ta nouvelle classe :

    Class Mycode{
    ....
    public static native TestDll();// javah généère le .h en fct(NomClass,NomMethode)

    ....}

    Class AnotherClass{

    void MyMethod()
    {...
    MyCode.TestDll();
    ...
    }

    }

Discussions similaires

  1. [JNI] Appel DLL externe C# en Java
    Par Contrec dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 08/04/2013, 13h16
  2. [JNI]dll java
    Par icepower dans le forum Entrée/Sortie
    Réponses: 8
    Dernier message: 03/09/2009, 14h53
  3. dll ActiveX utilisant une DLL externe
    Par Metal3d dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 10/11/2005, 18h02
  4. [Jonas]Ajout de dll externes
    Par romainp22 dans le forum JOnAS
    Réponses: 8
    Dernier message: 14/01/2005, 11h41
  5. Dialogue DLL externe
    Par rgarnier dans le forum XMLRAD
    Réponses: 8
    Dernier message: 07/05/2003, 14h28

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