begin process at 2012 05 30 10:43:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

Utiliser un plugin (en dll)


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

Utiliser un plugin (en dll)

mardi 11 mars 2003 à 17:05:24 | Utiliser un plugin (en dll)

CyberP

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
mardi 11 mars 2003 à 17:30:18 | Re : Utiliser un plugin (en dll)

superpa

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.

P-A



-------------------------------
Réponse au message :
-------------------------------

> 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
mardi 11 mars 2003 à 18:15:18 | Re : Utiliser un plugin (en dll)

vieuxLion

salut,

tu peux consulter cet article simple :
http://www.cppfrance.com/article.aspx?Val=1400
... et moi pour toute question


-------------------------------
Réponse au message :
-------------------------------

> 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
mercredi 12 mars 2003 à 10:22:10 | Re : Utiliser un plugin (en dll)

CyberP

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
mercredi 12 mars 2003 à 11:20:00 | Re : Utiliser un plugin (en dll)

vieuxLion

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)



-------------------------------
Réponse au message :
-------------------------------

> 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
mercredi 12 mars 2003 à 12:50:00 | Re : Utiliser un plugin (en dll)

CyberP

Eh bien, mon code est :

#ifdef PLUGIN_EXPORTS
#define PLUGIN __declspec(dllexport)
#else
#define PLUGIN __declspec(dllimport)
#endif

extern "C" PLUGIN void ecrire(char*) {
cout << "test";
}


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
mercredi 12 mars 2003 à 17:59:48 | Re : Utiliser un plugin (en dll)

vieuxLion

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 .

-------------------------------
Réponse au message :
-------------------------------

> Eh bien, mon code est :
>
>
#ifdef PLUGIN_EXPORTS
> #define PLUGIN __declspec(dllexport)
> #else
> #define PLUGIN __declspec(dllimport)
> #endif
>
> extern "C" PLUGIN void ecrire(char*) {
> cout << "test";
> }

>
> 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


Cette discussion est classée dans : fichier, fonction, dll, utiliser, plugin


Répondre à ce message

Sujets en rapport avec ce message

differencier fichier/dossier [ par glipper ] Bonjour,je voudrais juste savoir quelle fonction utiliser pour faire la difference entre un fichier et un dossier... j'ai essayé d'utiliser la fonctio PB d'E/S fichier avec une DLL [ par huberdine ] Je cherche a faire une DLL en C, dans la quelle je puisse faire des E/S fichier.Mon probleme est le suivant : la fonction fopen refuse de fonctionner Exportations de fonction EXE --> DLL [ par rclsilver02 ] Voila. Je suis sur un projet qui pourra gérer des modules. Chaque module se trouver dans une DLL et pourra utiliser des fonction du programme principa Communication avec une dll activeX et déclaration d'une database [ par julienbad ] Bonjour à tous j'ai un petit problème pour communiquer avec une dll activeX (COM),En fait j'ai une erreur de pointeur sur une database je pense, erreu Appel d'une fonction contenue dans une dll [ par ybuchheit ] Bonjour, je souhaiterais appeler une fonction contenue dans une dll. Je n'ai pas le source de cette dll, le seul fichier dont je dispose est le .dll utilisation __stdcall [ par MarmottE73 ] bonjour,j'ai un petit problème. je doit utiliser une dll en c++ dans un programme mais c'est la premiere fois. j'ai deja vu sur des forum qu'on utilis Pb d'integration de dll [ par mrous ] Bonjour,je dois utiliser dans un logiciel une DLL généré à partir de Matlab. La fonction à utiliser se trouve dans un .lib, un .h et un .dll.J'ai vu s comment utiliser les fonction d'une dll GCC [ par sebastienmz ] Bonjour j'aimerais savoire comment je peut utiliser des fonctions qui sont dans des dll sans avoir les .lib ou .a comment faire? problème de passage de fonctions via dll [ par youppyy ] Bonjour, J'ai deux fonctions sont enregistrées dans une dll ecrite en langage C sur Dec-c++ : J'ai une fonction A qui renvoie une donnée et une fonct Création de DLL en avc matlab et l'utiliser sur borland, [ par Nesrinatou ] Bonjour à tous, je suis étudiante en informatique et je réalise un projet de fin d'étude "traitement d'image" en langage C sur Builder C++ 2007 dans


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,608 sec (3)

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