Salut, voila j'ai passer sous Visual Studio, j'ai créer un projet DLL (Dans les paramètre de Projet W32) mais quand je le teste sur mon application cela fait que planter.
J'ai essayer créer un projet pour mIRC et j'ai toujours l'erreur * /dll: no such routine 'MessageBox'.
A priori j'aurais dit que le problème ses moi, mais j'ai télécharger une source (http://www.cppfrance.com/article.aspx?ID=2495), si je compile a partir de ce projet pas de problème. Si je créer un projet DLL par moi même pour simplement importer le fichier .CPP & .def j'en revien au même problème.
Merci d'avance, en espérant pas trop vous avoir perdu :)
Suisse
------------------------------------------
Votre dévoué posseur de question :D
Tu as quelle version de VS ?
Si VS 2003 (le 6 me souviens plus):
Refais new proj Win32 'nomProj'.
Proprietes: DLL et VIDE !!!
A ce point, tu crees un CPP 'nomProj' et de suite un DEF 'nomProj'.
Mets de suite en RELEASE.
Explor de solutions, tu cliques droit sur projet et proprietes.
Regle toutes optimisations et onglet 'Avance' tu mets 'convention d'appels' en __stdcall et 'compilation sous' en compile comme code C. Ceci evitera de taper des trucs dans le code.
Remplis dans le DEF le nom de func a exporter.
Passer votre fichier .def dans le linker (Projet/Propiéter de <nom du projet>/Éditeur de lien/Entrée/Fichier de définition de module/ entré le <nom du fichier>.def
@+
Merci d'avoir résolue mon problème (j'suis sûre d'être élus boulet du jour :))
------------------------------------------
Votre dévoué posseur de question :D
Merci pour ta réponse vite, je crois qu'il n'y pas les fonction d'exporter (ses ma 1er utilisation)
A moin que je me trompe d'après mes observation les fonction aurais du (si'il y en avais) être la 2e fenêtre (celle du bas) qui sont coller sur la liste déroulant des DLL.
Merci d'avance et désoler pour le dérangement.
Suisse
------------------------------------------
Votre dévoué posseur de question :D
DllMain peut s'executer 4 fois en theorie, faut mettre un
switch(dwreason) et initialiser ou il convient. Tu peux meme eviter les autres appels en inserant DisableThreadLibraryCalls().
Dans l'explorateur Windows, clic droit sur la dll.
Si tu as lance une fois depends.exe et configure 'DLL' dans le handler alors tu auras menu 'view dependencies'.
Prepare un zip de ton proj (enleve avant les fichiers de compil inutiles), je te passe par MP ou me l'envoyer, je te retournerai cela demain. M'en occuperai en me levant.
Bonne nuit.