begin process at 2012 05 28 08:33:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Fichier / Disque

 > 

classe de DLL dans un programme...


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

classe de DLL dans un programme...

vendredi 29 octobre 2004 à 15:33:33 | classe de DLL dans un programme...

Gendal67


Bonjour,

Désolé de vous demander, je suis débutant dans la création de DLL : je viens à l'instant d'apprendre des trucs de bases dc un livre spécial qui traitent les DLL en accompagnement des MFC uniquement et rien dans le détail ! vous imaginez le genre! dc jsuis un peu pommé la!!!(je ne veux pas de MFC!!)

J'ai crée une dll à l'aide de Dev-C++ et j'y ai inclus une classe...le probleme, c que ds mon programme, qd j'écris ça, ça bug :


LoadLibrary("String.dll"); // contient la définition de classe String
String lol;

Comment déclarer la classe String ds la dll pr kelle soit accessible au programme ? Je connais l'existence de AFX_EXT_CLASS contenu dans le fichier afxtempl.h mais dev-c++ n'a pas ce fichier de définition et qd je met le mot clé AFX_EXT_CLASS , sa me donne une erreur de syntaxe a la compil'!

Meric de m'aider!

Genda67, à votre service !
vendredi 29 octobre 2004 à 22:37:52 | Re : classe de DLL dans un programme...

cosmobob

salut,
contrairement a ce que tu dis, la DLL ne contient pas la définition de ta classe String, mais son code. Les définitions (cad les entetes de classes, de fonctions, etc...) sont dans les .h.
si tu veux mettre une classe dans une DLL, je crois que tu ne vas pas pouvoir la lier a ton programme dynamiquement (cad en utilisant LoadLibrary. car l'utilisation des objets d'une classe apppele implicitement constructeurs, destructeurs, etc... alors que si tu utilises loadlibrary, tu es obligé d'appeler explicitement chaque fonction).
par contre tu vas pouvoir la lier statiquement : normalement lors de la création de ta DLL, un .lib (ou peut etre .a sous devc++) a du etre crée...
dans le programme ou tu veux utiliser ta DLL, tu lui inclus le fichier d'entete String.h qui contient les entetes des fonctions de ta classe, et tu lies ton projet au .lib ou au .a généré lors de la création de la DLL. et pour finir tu mets la DLL a coté de l'exe qui est généré...

si tu as besoin de plus d'infos,
http://www.cppfrance.com/code.aspx?ID=9915
http://www.cppfrance.com/code.aspx?ID=21438 (tuto dédié a la création de DLL sous vc++, mais comprendre le principe peut t'aider aussi)

a++ ;)
samedi 30 octobre 2004 à 10:01:07 | Re : classe de DLL dans un programme...

Gendal67


Oui, c'est trs interessant...g trouvé cmt linker la classe de ma dll a l'aide du fichier .a..le seul probleme c qu'apres mon aplli fait plu de 460 KO !!!!! Dc en clair, sa sert a rien !!!!

Genda67, à votre service !
samedi 30 octobre 2004 à 10:12:04 | Re : classe de DLL dans un programme...

Gendal67


Et puis le LoadLibrary() je m'en fiche !! N'importe le moyen utilisé !! J'aimerai TOUT (classe + def + fct membres, etc) dans cte put*** de DLL et pouvoir recup' à la fin....les tutos c'est que pour les fct, jamais pour les classes!! A croire que sa a disparu du C++ !!!

Genda67, à votre service !
samedi 30 octobre 2004 à 13:46:37 | Re : classe de DLL dans un programme...

cosmobob

lol
ben fais des tests pour voir si c'est bien linké, si tu retires la DLL du dossier ou est l'exe, normalement ca doit afficher un message d'erreur des le début. sinon si t'as un gros programme, faut comparer avec la taille de la DLL, etc... vu que toi si j'ai compris, tu doutes que ca ait marché, cad que le code de ta classe string soit bien ds la DLL et pas ds l'exe. si t'as exporté toute la classe ds la DLL, que ds le code de ton exe, ya que le fichier .h qui déclare les méthodes de la classe, a priori ya pa de raison que le code de ta classe soit contenu ds l'exe. fin j'en sais rien t'as pas donné assez d'infos la...

a++ ;)


Cette discussion est classée dans : programme, string, dll, classe, dc


Répondre à ce message

Sujets en rapport avec ce message

Classe et Dll. [ par jamais34 ] Je dois modifier un programme réaliser en VC++, c'est à dire faire un .exe et d'autre part une dll qui doit gérer le port série et un protocole de com 'System.NullReferenceException' avec classe [ par thetoto52 ] Voila je fait un programme en Cpp pour le lycé j'ai une classe qui me pose problème__gc class vehicule { <FONT DLL C++ [ par kharrat ] Salut, Je veux écrire un programme en C++ qui doit à priori tourner sur une plateforme UNIX, avec des commandes Shell. Cependant, j'aimerais (dans u Modifier dépendance entre dll et exe [ par XKaliBur ] Bonjours,Est-il possible, ou existe-il un programme, permettant de changer le nom d'une dll sans pour autant que le programme dépendant de cette dll n Version fichier ? [ par hot_sauce93 ] Bonjour a tousDans un dll, ou peut on trouver la version de celle ci ?Car dans un programme lors d'une mise a jour, je me dis que la version des dll d Problème avec une DLL C++ appelant une DLL C# depuis un network drive [ par SinaC ] Bonjour,    Le but du projet était d'utiliser une DLL C# depuis Powerbuilder, la solution à laquelle nous avons pensé était de créer une DLL C++ qui f fonction recevant un pointeur de fonction d'une classe [ par fuliculi ] Bonjour à tous,j'ai un thread qui doit faire évoluer une variable "progress" de 0 à 100% (j'utilise les mutex pour éviter les écritures/lectures simul probleme avec le garbage collector [ par anthonycosson ] je suis en train de créer une dll en c++ .net , dans cette dll il y a deux classesla classe public __gc <FONT color=#0000f Probleme avec "strcat" [ par PierreKill ] Bonjour.Je fais actuellement un programme qui recense des resultats obtenus sur internet.Je vous explique : il s'agit d'un programme pour lequel on pe [.net c++] classe String [ par stgi02 ] bonsoir ,j'ai utlisé le code suivant ;String * line;comment le contenu de line qui est une chaine de caractère va être intégré dans la classe String,?


Nos sponsors


Sondage...

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,952 sec (4)

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