begin process at 2010 02 10 00:13:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

API

 > 

Exporter une classe dans une DLL...


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

Exporter une classe dans une DLL...

mercredi 9 janvier 2002 à 19:06:12 | Exporter une classe dans une DLL...

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 pouvoir appeler à partir d'un autre langage, la fonction main(), exportéee dans la DLL.Le problème est qu'elle utilise des objets...

class a
{
public:
int var;
Fonction1(int nb); //Prototype de la fonction.
};

a *objet1; //Déclaration du pointeur vers l'objet.

int a::Fonction1(int nb)
{
objet1->var=nb;
return objet1->var;
}

int main()
{

objet1=new a; //Création de l'objet.

return objet1->Fonction1(8); //Retourne normalement 8.
}

//------------- FIN -----------------------



D'habitude, pour exporter mes fonctions dans une DLL ( ceci fonctionne), j'utilise le listing suivant, en créant un projet de type "MFC AppWizard (MFC)", sous Visual C++.

// Dans le fichier CPP

#include <windows.h>
#define DllImport __declspec( dllimport )
#define DllExport __declspec( dllexport )

DllExport void pascal test(void);

BOOL WINAPI DllEntryPoint (HINSTANCE hInst, DWORD ul_reason_for_call, LPVOID lpReserved)
{
return TRUE;
}

DllExport void pascal test(void)
{
MessageBox(NULL, "Ca marche !", "DLL Test", MB_OK);
}




// Dans le fichier .def

LIBRARY DLL_Test

CODE MOVEABLE DISCARDABLE
DATA SINGLE

EXPORTS
test()

// --------------- FIN ------------------


Comment fait-on pour que la fonction "test" puisse, par exemple, instancier, appeler des fonctions, ou encore modifier des variables d'une classe? Faut-il l'exporter?

Le seul moyen que j'ai trouvé pour remédier à cela est de compiler le programme en fichier EXE, puis d'appeler l'EXE avec des arguments ( du style : Result=shell("prog.exe arg1, arg2, arg3")), et d'ajouter un une boucle de récupération des arguments...Mais ce n'est pas très optimisé et surtout pas très propre!

Merci beaucoup, Clovis.



Cette discussion est classée dans : int, test, dll, exporter, objet1


Répondre à ce message

Sujets en rapport avec ce message

Uttilisation la fonction d'une DLL [ par aDebhian ] Pour ce faire, j'ai lu msdn, codes-sources et j'en suis arrivé à ceci: [FONCTION DLL] extern "C" __declspec(dllexport) int tests(int test) {     retu accéder aux éléments d'une structure déclaré en pointeur [ par snake57 ] bonjour, je bloque sur un point de mon prog (en C) a cause d'une structure dans laquelle j'arrive pas écrire. je déclare une structure de la sorte : DLL C++ [ par alonsyl ] Bonjour,Je travaille en Visual Basic et j'essaie de créer une DLL C++ afin d'effectuer du calcul matriciel. Pour l'instant, je commence petit avec la DLL et CString [ par DMK04 ] Bonjour,J'ai crée une DLL avec une fonction, qui affiche plusieurs fois la même chaîne, une fois en tant que char *, une fois en tant que CString * pu chargement dll c# depuis c++ [ par wislam2007 ] Salut, quand je test sur mon poste l'appel d'une dll c++ qui appel une dll (.tlb) c# ça fonctionne sans probleme, par contre quand je passe a un aut Probleme de convention? d'appel de dll dans vba [ par Jbs106 ] J'ai ouvert un projet en vc++ studio express 2008. projet win32, dll, nommée tutorial, et dans le fichier tutorial.cpp, j'ai ajouté trois fonctions: Mince ! Mon flux fstream fonctionne très mal [ par Davy974 ] Bonjour à tour, mon code ne fonctionne pas très bien ! Sauriez vous dire pourquoi ! ------------fstream.h----------------------- #ifndef CORE_FSTREA Template C++ [ par luhtor ] Je suis confronté à un petit problème. Quelqu'un saurait-il pourquoi le code suivant ne compile pas ? (j'utilise VC express, mais c'est pas important) pb DLL et template [ par axiagame ] Bonjour, je suis en train de tenter de créer une DLL, mais malheureusement je suis heurté à un problème : Je souhaite créer une fonction en template q DLL avec stdcall [ par gmeha ] bonjourj'ai ecrit un DLL programme en utilisant stdcall je l'ai compile ,il y a eu aucune faute.#include "stdafx.h"#include #include extern "C" __decl


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,437 sec (3)

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