CyberP
Messages postés283Date d'inscriptionmercredi 8 janvier 2003StatutMembreDernière intervention 4 juillet 2007
-
11 mars 2003 à 17:05
cs_vieuxLion
Messages postés455Date d'inscriptionsamedi 26 octobre 2002StatutMembreDernière intervention 6 avril 2004
-
12 mars 2003 à 17:59
Comment utiliser un plugin ? Le charger et utiliser les fonctions qui sont à l'intérieur ?
Je compile un fichier en dll avec une fonction "dire_bonjour()" qui affiche un simple bonjour a l'écran (un printf)
J'aimerai pouvoir accéder à cette fonction avec un autre programme. Il parait que c'est possible grâce au fichier à inclure "dlfcn.h" mais mon compilateur ne le trouve pas !
CyberP,
Celui qui dit que toute question a une réponse
superpa
Messages postés113Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 5 janvier 2004 11 mars 2003 à 17:30
j'ai jamais entendu parlé de dlfcn.h
Si tu veux charger une fct d'une dll consulte une des dernières sources du site (untiliser une dll ou qqch comme ca (c pas une de mes sources) qui explique ca de manière très compréhensible. Si t'as encore des problèmes tu peux laisser un comme,ntaire, un msg sur le forum ou me contacter personnellement.
CyberP
Messages postés283Date d'inscriptionmercredi 8 janvier 2003StatutMembreDernière intervention 4 juillet 20072 12 mars 2003 à 10:22
Eh bien, j'ai étudié la source et j'ai composé moi-même un petit programme qui gère les plugins... Malheuresement, il ne marche pas ! Après plusieurs essais, j'ai essayé de tout simplement faire un copier-coller de la source, de la compiler, etc. (exactement comme pour la source) mais ca ne marche pas non plus !
L'erreur est la même dans les 2 cas : la fonction GetProcAddress renvoie la valeur null
J'ai pourtant bien recopié la source exactement comme elle était...
CyberP,
Celui qui dit que toute question a une réponse
cs_vieuxLion
Messages postés455Date d'inscriptionsamedi 26 octobre 2002StatutMembreDernière intervention 6 avril 20048 12 mars 2003 à 11:20
bonjour,
si GetProcAdress retourne null, c'est que la méthode n'a pas été proprement exportée
as tu bien défini le symbole de précompilation PLUGIN en faisant la DLL ?
Ou peut-être ton compilateur ne supporte t il pas le
__declspecdllexport) car c'est spécifique à microsoft...
autre technique on peut créer un fichier .DEF pour exporter les fonctions
je sais, c'est assez délicat tout ça, mais ça en vaut le coup.
Etudie mieux le projet zippé (et les settings de projet)
Vous n’avez pas trouvé la réponse que vous recherchez ?
pour le plugin et mon compilateur est visual C++ de microsoft, donc... je ne vois vraiment pas le défaut
Je pense quand même que ce sont les settings car quand je compile le projet du zip sans rien changer, ca marche mais quand je fais copier-coller vers mon projet, ca marche plus !
CyberP,
Celui qui dit que toute question a une réponse
cs_vieuxLion
Messages postés455Date d'inscriptionsamedi 26 octobre 2002StatutMembreDernière intervention 6 avril 20048 12 mars 2003 à 17:59
je peux t´affirmer que l´erreur est sur les settings
ALT+F7 dand symboles de precompilation, ajoute simplement PLUGIN pour la DLL mais ne le fait pas pour l´EXE
tu peux aussi verifier en ouvrant ta DLL avec Depends.exe si les exports sont corrects
bon courage
...et desole pour mon manque d´accents car je suis en deplacement et sur clavier etranger .