Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Exporter une classe dans une DLL... [ Archives / API ] (Clovis)

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é 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 Exporter Classe en DLL [ par victorcoasne ] Bonjour,J'ai exporté une classe en DLL.Je voudrais savoir si je suis obligé de déclarer les variables private dans la prédéclaration de classe pour de Client(c++Builder)/Serveur(linux) [ par willixs ] Bonjour j'ai fait un socket client sur c++ builder et un serveur socket sur linux mais j'ai un probleme c'est que j'ai créé un tableau de caractères s Trie bulle [ par afrikanoo ] #include #include void main(){ clrscr(); int n; <font color="#d3d3d exemple de creation et utilisation d'un simple dll . [ par bonapart002 ] Bonjour:je suis débutant en c++ .je travail  avec Borland C++ 5.01.je veux créer une dll puis l'utiliser dans un programme .pour cela j'ai crée  un pr Pb Hook.... [ par Mr_Coinche ] Bonjour,J'ai crée une dll très simple appelée "DllMaths.dll", qui contient deux fonctions, "carre" et "cube", je vous laisse deviner ce que ces foncti 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)


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,390 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.