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

Bibliothèques C++ Discussion :

Testé une dll sous visual c++


Sujet :

Bibliothèques C++

  1. #1
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 33
    Par défaut Testé une dll sous visual c++
    Salut
    mon dll que je veux testé est :
    Header
    Code cpp : 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
     
    /* verify that the <rpcndr.h> version is high enough to compile this file*/
    #ifndef __REQUIRED_RPCNDR_H_VERSION__
    #define __REQUIRED_RPCNDR_H_VERSION__ 440
    #endif
     
    #include "stdafx.h"
    #include "rpc.h"
    #include "rpcndr.h"
    #include <string>
     
    using namespace std;
     
    #ifndef __DLLTEST_h__
    #define __DLLTEST_h__
     
    #define EXPORT __declspec(dllexport);
     
    #ifdef __cplusplus
    extern "C"{
    #endif 
     
    EXPORT string __stdcall GetTypeConnexion(string PS_szTypeConnexion, string PS_szLibelleErreur);
     
    #ifdef __cplusplus
    }
    #endif
     
    #endif
    .cpp
    Code cpp : 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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
     
    #include "stdafx.h"
    #include "resource.h"
    #include <initguid.h>
    #include "DLLTEST.h"
    #include <fstream>
    #include <string>
    #include "DLLTEST.c"
     
    // Taille maximale de l'url
    #define TAILLE_MAX 1000 
    using namespace std;
     
    char    CODEERREUR;
    string  LIBELLEERREUR;
    char    MODEDECONNEXION;
    string GetURL() {
    	ifstream fichierConfig("DLLTEST.config" );
    	string pURL = "";
    	if (fichierConfig) {
    		getline(fichierConfig,pURL);
    		if (pURL == "") {
    			CODEERREUR = '9';
    			LIBELLEERREUR = "Fichier DLLTEST.config vide";
    			MODEDECONNEXION = 'S';
    			return pURL;
    		}
     
        } else {
     
    		// Si fichier introuvable
    		CODEERREUR = '9';
    		LIBELLEERREUR = "Fichier DLLTEST.config non trouvé";
    		MODEDECONNEXION = 'S';
    		return pURL;
    	}
     
    	return pURL;
    }
    string  __stdcall GetTypeConnexion(string PS_szTypeConnexion, string PS_szLibelleErreur) {
     
    	// Chargement du module DLL
    	HINSTANCE  hDLL = LoadLibrary("uneautredlldotnetacharger.dll");
     
    	string modeCnx;
    	string codeErr;
     
    	if (hDLL != NULL) {
     
     
    		typedef char *DLL_Function_getTypeConnexion (string pURL);
     
    		// instantiation de la fonction getTypeConnexion
    		DLL_Function_getTypeConnexion *fn_getTypeConnexion;
     
    		// Chargement en mémoire
    		fn_getTypeConnexion = (DLL_Function_getTypeConnexion*)GetProcAddress(hDLL,"getTypeConnexion");
     
    		// Lecture de l'url sur DLLTEST.config
    		string pURL = GetURL();
     
    		if (pURL != "") {
    			// Appel de la méthode getTypeConnexion()
    			MODEDECONNEXION = *fn_getTypeConnexion(pURL);
     
    		} else {
    			MODEDECONNEXION = 'S';
    		}
    		modeCnx = MODEDECONNEXION;
    		codeErr = CODEERREUR;
    		FreeLibrary(hDLL);
    	}
    	return string(modeCnx) + string(codeErr) + LIBELLEERREUR;
    }

    J'ai ajouté au projet mon fichier .def.
    Je veux ajouter un programme pour testé cette dll ou bien ajouter des message pour testé que l'appel du dll dotnet ça se passe comme il le faut.
    Merci

    A vs

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Bonjour,
    Tu crées un exécutable qui utilses ta DLL comme le test que tu souhaites dérouler. Ensuite, dans les options du projet de ta DLL, tu indiques l'exécutable à utiliser pour le mode Debug. Et puis F5...

Discussions similaires

  1. Réponses: 8
    Dernier message: 27/07/2012, 14h59
  2. utiliser une dll sous visual 2008 c++
    Par milach dans le forum Visual C++
    Réponses: 4
    Dernier message: 11/01/2010, 17h36
  3. créer une dll sous visual studio
    Par kaisser dans le forum C#
    Réponses: 6
    Dernier message: 29/08/2009, 14h12
  4. Déboggage d'une DLL sous Visual Studio
    Par CodeCRC dans le forum Visual C++
    Réponses: 6
    Dernier message: 09/01/2009, 12h16
  5. Utilisation d'une Dll sous Visual C++
    Par Hokagge dans le forum MFC
    Réponses: 3
    Dernier message: 11/01/2006, 14h40

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