begin process at 2012 02 11 03:58:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

MFC

 > 

Utiliser les fonctions contenues dans des classes d'une DLL


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

Utiliser les fonctions contenues dans des classes d'une DLL

dimanche 5 juillet 2009 à 12:59:24 | Utiliser les fonctions contenues dans des classes d'une DLL

romauto750

Bonjour à tous,

Je me tourne vers vous car je dois utiliser les fonctions d'une dll. Le problème c'est que dans cette dll, il y a plusieurs classes. Je n'arrive pas à utiliser les fonctions qui sont dans ces classes.

En temps normal avec GetProcAddress(...), cela marche bien mais la comme les fonctions sont dans les différentes classes, je ne sais pas comment faire.

Je n'ai pas trouvé beaucoup d'infos sur ça sur le net. Quelqu'un aurait une idée ?

J'ai essayé différentes syntaxes comme MaClasse.MaFonction ou MaClasse_MaFonction mais rien ne marche.

Merci beaucoup par avance.
lundi 6 juillet 2009 à 13:25:42 | Re : Utiliser les fonctions contenues dans des classes d'une DLL

juju12

La méthode généralement utilisée pour se lier à une dll ne passe pas par GetProcAddress() mais par une table d'import, ce qui est plus rapide niveau exécution (géré par l'OS au chargement) et plus simple dans le code. Réfère-toi à une des nombreuses sources de ce site utilisant un dll. Sous VS : Une fonction à importer d'une dll est marquée par __declspec(dllimport). C'est la même chose pour les classes, cf MSDN.
samedi 18 juillet 2009 à 17:48:39 | Re : Utiliser les fonctions contenues dans des classes d'une DLL

rt15

Membre Club Administrateur CodeS-SourceS

Salut,

Récupérer des adresses de méthode avec GetProcAddress puis les exécuter me paraît dangereux, et à peu près impossible.

Si tu tiens à te lier dynamiquement à la dll, fait lui exporter des fonctions, pas des méthodes.
Sinon tu peux te lier statiquement, mais c'est assez moche risqué et peu souple, car ta dll est difficilement utilisable, il te faut le même compilo pour faire la dll et le .exe.

Bref, quand on choisit les fonctions à exporter, faut rester simple. Echanger uniquement des structures et des types simples.

L'article de wikipedia est pas trop mal sur le sujet.



Cette discussion est classée dans : dll, utiliser, fonctions, classes, contenues


Répondre à ce message

Sujets en rapport avec ce message

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 valeurs de retour des fonctions d'une DLL [ par cybermax62 ] Lorsque l'on utilise des dll, comment fait t on pour que les fonctions de la dll utilse comme paramètres des classes (on pointeurs de classes) et renv DLL et fenetre de dialogue [ par ricky78 ] Bonjour J'essaye pour la premiere fois de mettre des fonctions de mon code dans une DLL. Sur differents tutoriel et aide j'arrive bien a cree et a uti comment utiliser les fonctions d'une dll [ par kollibar ] bonjour je veux utiliser les fonctiopns d'une dll de façon dynamique que j'ai créer, je me suis inspiré d'autres source mais je ne comprend pas pourq problème pour utiliser une DLL en C [ par aurhas ] Bonjour, j'ai une DLL FTDI pour laquelle je dispose des fichiers dll, lib et h. J'ai également une doc pour décrire les fonctions, leurs paramètres e Problème fonctions décorées dans une DLL [ par TryToHelpMe ] Bonjour, je n'ai pas par habitude de demander de l'aide au premier problème rencontré. ( La preuve, je dois me recréer un compte à chaque fois que j'a Probleme DLL sous Visual 2008 [ par romainbisson ] Bonjour, J'ai un fichier DLL contenant toutes les fonctions en C me permettant de travailler sur mon projet (pilotage d'un boitier RFID). Ma question C:Plantage du programme lors de l'utilisation de fonctions contenues dans une dll [ par snoussia ] Bonjour,Je suis actuellement en cours de développement d' projet en c sous VS2003  qui utilise des fonctions de communication via les sockets que j'ai Exporter une class depuis une DLL et l'utiliser dans un programme quelconque [ par Havy ] DLL contenant la classe (Maths.dll) #define DllExport __declspec (dllexport)class DllExport Test{    private: int nombre;    public: int Carre(in


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

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

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