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

Langage Java Discussion :

aide pour un code


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 50
    Par défaut aide pour un code
    salut
    j'ai compilé ce code
    /********************code******************************/
    package registre_access;
    import com.ms.dll.*;

    public class TestChangeDirectory {
    public static void main (String[] args) {

    try {
    System.loadLibrary ("KERNEL32");
    } catch ( Exception e ) {
    e.printStackTrace();
    System.exit ( 1 );
    }

    boolean rc;
    // for demonstration
    // we specify a non-existent directory, to get an error code...
    StringBuffer newdir = new StringBuffer("Unknown directory");
    rc = SetCurrentDirectoryA(newdir);
    if (!rc) {
    int err = DllLib.getLastWin32Error();
    // should be rc : 2 "ERROR_FILE_NOT_FOUND"
    System.out.println("rc : " + err);
    // you may want to throw an exception here...
    }
    else {
    System.out.println("Done.");
    }
    // keep the console open...
    try {System.in.read();}catch(Exception e){}
    }

    static native boolean SetCurrentDirectoryA(StringBuffer newdir);
    }
    /**************************************************/



    en executant le code j'ai eu le message suivant
    je n'est pas compris de quoi s'agit il et comment y remedier
    /////////******message*********************************////
    java.lang.UnsatisfiedLinkError: SetCurrentDirectoryA

    at registre_access.TestChangeDirectory.SetCurrentDirectoryA(Native Method)

    at registre_access.TestChangeDirectory.main(TestChangeDirectory.java:18)

    Exception in thread "main"

    merci de m'aider

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par foulla002
    java.lang.UnsatisfiedLinkError: SetCurrentDirectoryA
    http://javasearch.developpez.com/j2s...LinkError.html
    Thrown if the Java Virtual Machine cannot find an appropriate native-language definition of a method declared native.


    a++

  3. #3
    Membre éprouvé
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Par défaut
    salut,

    Tout d'abord :

    ensuite, il est explicitement dit dans ton code :
    // for demonstration
    // we specify a non-existent directory, to get an error code...
    (...)
    // you may want to throw an exception here...
    De plus, UnsatisfiedLinkError signifie que tu as un problème de méthode native :
    Citation Envoyé par Javadoc
    Thrown if the Java Virtual Machine cannot find an appropriate native-language definition of a method declared native.
    Voilà voilà

    Fred

    edit : grillé

  4. #4
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 50
    Par défaut
    justement je voulais savoir c'est quoi le probleme et c'st quoi la solution

  5. #5
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par foulla002
    justement je voulais savoir c'est quoi le probleme et c'st quoi la solution
    Il suffit de lire la description de l'exception :
    Thrown if the Java Virtual Machine cannot find an appropriate native-language definition of a method declared native.
    L'exception est levé si la machine virtuelle Java ne peut pas trouver le code natif d'une méthode déclaré native...


    Mais comme je te l'ai déjà dit dans ton précédent sujet, les classes provenant du package com.ms ne sont pas du vrai Java, tu ne pourras pas les compiler ou les exécuter avec une vrai JVM...


    a++

  6. #6
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 50
    Par défaut
    c'st quoi donc la solution j'ai besoin de developper avec le java donne moi un exemple de code avec des methodes natives merci pour votre aide

  7. #7
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par foulla002
    c'st quoi donc la solution j'ai besoin de developper avec le java donne moi un exemple de code avec des methodes natives merci pour votre aide
    Il y en a plein dans les différents cours Java. Regarde les sections concernant JNI... ou alors directement le guide de Sun : http://java.sun.com/j2se/1.5.0/docs/...jni/index.html

    Maintenant tu ne pourras pas appeller directement les fonctions systèmes de Windows...

    a++

  8. #8
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    ben tu veux faire quoi ?

    pour que ça marche il faut mettre un vrai répertoire et il faut aussi que tu gère les exceptions, soit par throw, soit par try/catch.

    je suppose que ce bout de code vient d'un tuto ou d'un bouquin. Il doit donc y avoir des explications adjacentes qui te seraient surement utiles ...

Discussions similaires

  1. Aide pour un code VBA Excel
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 03/07/2008, 10h09
  2. Aide pour un code Vba
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/10/2007, 16h03
  3. [FTP] besoin d'aide pour source code
    Par planete-venus dans le forum Langage
    Réponses: 1
    Dernier message: 02/06/2007, 15h01
  4. aide pour un code
    Par foulla002 dans le forum Sécurité
    Réponses: 3
    Dernier message: 03/08/2006, 09h56
  5. aide pour du code svp
    Par rootsngaia dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/04/2006, 23h40

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