begin process at 2010 02 10 09:12:34
  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 utiliser l'interface d'une dll dans une MDI [ par julienbad ] Bonjour à tous! j'aurais voulu savoir si quelqu'un savait comment utiliser une dll possèdant une interface graphique (CDialog) pour l'afficher dans un utiliser une DLL sous vusual Studio [ par softreda ] quelqun  sais comment  appele a des fonction d'une DLL, sur VB .NET, quel genre de projet je dois créer? est ce que je dois le mettre dans un dossier Inclure une dll dans une autre dll [ par Mastersam ] Bonjour, je travaille sous devcpp et je voudrais savoir comment inclure une dll dans une dll.J'explique un peu mieux : je crée actuellement un pilote Utilisation de yacscom.dll [ par NeoUmbrella ] Bonjour, je voudrais utiliser yacscom.dll dans un de mes projets Win32 n'utilisant pas les MFC.Cette DLL permet de créer un chat vocal.En Visual Basic DLL et MFC [ par Loukhass ] Bonjour. J'utilise MFC pour pouvoir utiliser la classe CMutex. Seulement, dans le même projet,j'ai besoin d'utiliser jni. Pour cela, je dois creer un


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

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