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

Dotnet Discussion :

Utilisation de GetProcAdress & LoadLibrary : Valeur de retour toujours vrai !


Sujet :

Dotnet

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 30
    Par défaut Utilisation de GetProcAdress & LoadLibrary : Valeur de retour toujours vrai !
    Bonjour,

    Tout est dans le titre, voici le code qui est en cause, j'aimerais votre avis sur la question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    		typedef bool (WINAPI* DLLFUNC)(wchar_t id); 
    		bool ret = false;
    		int ret2; //Valeur pour le getLastError verifié au debugger
    		DLLFUNC pFuncConnect = (DLLFUNC)GetProcAddress(hDLL,"connect");
    		ret2 = GetLastError(); //Vaut 0
     
    		ret=pFuncConnect(id); // ret vaut toujours true
     
    		return ret;

    Question simple... est ce que ca peut venir de l'appel ? Car j'ai vérifie l'algo de la fonction appelé, et y'a aucune chance que ça retourne true apparemment.

    Bonne journée.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 30
    Par défaut
    Petite vérification personelle, j'ai mit seulement "return false;" dans la fonction appelée dans la DLL... ca renvoi encore TRUE.

    Ca doit venir de mon utilisation. Seulement je comprend pas.

    Au passage, voici le code de la dll...


    le extern.h avec les dllexport
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    extern "C"
    {
    	__declspec(dllexport) void setVal(wchar_t id, int val);
    	__declspec(dllexport) int readVal(wchar_t id);
    	__declspec(dllexport) bool connect(wchar_t id);
    	__declspec(dllexport) void close();
    }
    le corp de la fonctions dans fonctions.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    bool connect(wchar_t id)
    {
     
    car=Carte::Instance(); //On initialise la dll
    /*
    if ( car->estConnectee(id) == false ){ //Si la carte n'est pas déja connectée
     
     
    int i = -3; //Il faut l'initialiser pour etre sur de sa valeur, mais ça ne doit pas être une des valeurs possible [-2,+inf]
    i = OpenDevice(); //On connecte la premiere carte
    while(i !=  car->getDeb(id)->getCarte() && i != -1 && i != -2) //Tant qu'on a pas connectée la bonne carte ou que l'on a pas un message d'erreur
    {
    	if (i != -1 && i != -2 )//Si ce n'est pas une erreur
    		car->addCarte(i); //On l'ajoute à la liste des cartes connectées
     
     
    	i = OpenDevice(); //On connecte la carte suivante
    }
    if(i == car->getDeb(id)->getCarte() ) //Si on a connecté la carte correspondant au debimetre appelant la fonction
    return true; //OK
    else
    return false;//ERREUR
     
    }
    else
    return true;
    */
    return false;
    }

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/11/2010, 10h38
  2. Réponses: 7
    Dernier message: 28/10/2010, 21h55
  3. JFileChooser "utilisation détournée" et valeur de retour
    Par Sokarion dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 28/02/2007, 12h23
  4. Valeur de retour d'une procédure externe
    Par elekis dans le forum x86 32-bits / 64-bits
    Réponses: 4
    Dernier message: 16/04/2004, 16h45
  5. Pourquoi une seule valeur de retour pour les fonctions ?
    Par Bruno75 dans le forum Langages de programmation
    Réponses: 33
    Dernier message: 18/01/2004, 13h58

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