begin process at 2012 05 29 05:34:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Divers

 > 

Exporter une class depuis une DLL et l'utiliser dans un programme quelconque


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Exporter une class depuis une DLL et l'utiliser dans un programme quelconque

dimanche 12 juillet 2009 à 11:05:11 | Exporter une class depuis une DLL et l'utiliser dans un programme quelconque

Havy

DLL contenant la classe (Maths.dll)

#define DllExport __declspec (dllexport)

class DllExport Test
{
    private: int nombre;
    public: int Carre(int n)
    {
        nombre = n;
        return nombre*2;
    }
}

Programme utilisant la DLL (Essai.cpp)

Dans ce fichier, je voudrais pouvoir par exemple à un moment donné faire :

Test petit_test;

petit_test.Carre(2);


Voilà je voudrais simplement faire ça, bien sur je n'ai pas écris tout le code, je voudrais juste savoir ce quil faut mettre
par rapport aux dllexport, dllimport et tout ça, pour pouvoir compiler et enfin pouvoir utiliser ma classe.


Je vous remercie par avance de votre aide :)


dimanche 12 juillet 2009 à 17:07:06 | Re : Exporter une class depuis une DLL et l'utiliser dans un programme quelconque

juju12

là où tu veux utiliser la classe : class __declspec(dllimport) Test { private : int nombre; public : int Carre(int n); }; en général, pour éviter les problèmes, on définit la classe dans un .h que l'on utilise à la fois dans les projets dll et utilisation; il faut alors définir une macro pour préciser dans quel cas on est (le compilateur doit savoir s'il fiat exporter ou importer la classe), par exemple : // class.h #pragma once #ifdef DLL_VERSION #define IOCLASS __declspec(dllimport) #else #define IOCLASS __declpsec(dllexport) #endif class IOCLASS Test { private: int Nombre; public: int Carre(int n); }; Pour la dll : // dll.cpp #define DLL_VERSION #include "Class.h" int Test::Carre(int n){return n*n;} Pour utiliser dans un projet, simplement : // source.cpp #include "Class.h" Test t;
dimanche 12 juillet 2009 à 17:08:46 | Re : Exporter une class depuis une DLL et l'utiliser dans un programme quelconque

juju12

Réponse acceptée !
Désolé; deuxième essai :


là où tu veux utiliser la classe :
class __declspec(dllimport)
Test
{
private : int nombre;
public : int Carre(int n);
};

en général, pour éviter les problèmes, on définit la classe dans un .h que l'on utilise à la fois dans les projets dll et utilisation;
il faut alors définir une macro pour préciser dans quel cas on est (le compilateur doit savoir s'il fiat exporter ou importer la classe), par exemple :

// class.h

#pragma once

#ifdef DLL_VERSION
#define IOCLASS __declspec(dllimport)
#else
#define IOCLASS __declpsec(dllexport)
#endif

class IOCLASS Test
{
private: int Nombre;
public: int Carre(int n);
};


Pour la dll :

// dll.cpp

#define DLL_VERSION
#include "Class.h"

int Test::Carre(int n){return n*n;}



Pour utiliser dans un projet, simplement :
// source.cpp

#include "Class.h"

Test t;
dimanche 12 juillet 2009 à 17:58:29 | Re : Exporter une class depuis une DLL et l'utiliser dans un programme quelconque

Havy

Ok merci, c'est très pertinent.

Encore merci et à bientôt :)


Cette discussion est classée dans : class, test, dll, utiliser, dllexport


Répondre à ce message

Sujets en rapport avec ce message

Exporter une classe dans une DLL... [ par Clovis ] Salut,Je voudrais pouvoir exporter dans une DLL, si c'est possible, les fonctions et les objets du listing suivant. Car, je voudrais, par la suite pou Comment integrer une dll dans les ressources et l'utiliser ? [VC++6] [ par dread ] Salut, j'aimerai savoir comment integrer une dll dans les ressources et l'utiliser comme bon me semble ensuite. Est ce possible ?MerciDread gestion des exceptions dans Visual C++ 6 [ par devmail ] Bonjour a tous,je suis en cours de developpement d'un programme compose d'un prg principale et de plusieurs dll. J'ai terminer les traitements et souh Utiliser un plugin (en dll) [ par CyberP ] Comment utiliser un plugin ? Le charger et utiliser les fonctions qui sont à l'intérieur ?Je compile un fichier en dll avec une fonction "dire_bonjour heritage et dll dynamique [ par dune ] Bonjour,je programme un gestionnaire de plugins et certaines fonctions et class doivent etre utilisees dans chaque plugin. Je mets donc mes fonctions DLL [ par hobbes ] Je souhaiterais savoir comment ca marche, si on doit utiliser une variable globale pour pouvoir l utiliser ....Merci Pb de lien entre DLL et EXE [ par Sade ] Salut tous le monde.j'ai un problème avec une de mes Dll.Ma Dll est composé de trois classe:Class P : la classe pricipale qui est instancié dans le pr Comment utiliser une DLL tiers? [ par StefB ] Bonjour a tous,QUESTIONS : - Comment utiliser les classes, varaibles, constantes et fonctions dans une DLL sous VC++?- Est-ce t'il existe un tutoriel Comment utiliser une DLL tiers ? [ par StefB ] Bonjour a tous,QUESTIONS : - Comment utiliser les classes, varaibles, constantes et fonctions dans une DLL sous VC++?- Est-ce t'il existe un tutoriel Comment utiliser une dll inconnue ? [ par Dionysos33 ] Bonjour à tous,Est-il possible de connaitre les fonctions d'une dll qu'on a pas créé ? C'est à dire l'utiliser en ayant uniquement le fichier .dllMerc


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales