Accueil > Forum > > > > pb d'appel de fonctions (DLL en linkage dynamique)
pb d'appel de fonctions (DLL en linkage dynamique)
lundi 27 décembre 2004 à 19:38:52 |
pb d'appel de fonctions (DLL en linkage dynamique)

Gendal67
|
Bonsoir all, Je souhaiterai faire un appel de fonction définie dans un fichier .DLL de manière dynamque etc...jusque la pas de pb, mais je en comprend pas pourquoi le prog ne trouve pas la fonction!! :( /* code dans le .cpp de la dll... */ #define DLLEXPORT __declspec (dllexport)
bool DLLEXPORT EncodeToDff(char* fichier, char* dest) {
//instructions }
|
/* dans mon programme... */ case WM_PAINT: HINSTANCE hDll; hDll = LoadLibrary("DffEncoding.dll"); typedef bool (_stdcall* ENCODE) (char*, char*); ENCODE pEncode; pEncode = (ENCODE) GetProcAddress(hDll, "EncodeToDff"); if (pEncode) (pEncode)("fond.bmp", "fond.dff"); // retourne TOUJOURS 0! :(
|
Voila, pEncode vaut toujours 0....comme si le nom de la fonction n'était pas le bon :s je en sais pas quoi faire....:| Gendal67, Dev-C++ 4.9.9.1, J'adore cppfrance!! :-))
|
|
lundi 27 décembre 2004 à 20:01:08 |
Re : pb d'appel de fonctions (DLL en linkage dynamique)

JCDjcd
|
que vaut hDll ? (NULL ?)
une question : pourquoi faire tout cela dans le WM_PAINT, il suffit de le faire dans le WM_CREATE et de stocker une bonne fois pour tout pEncode dasn une variable.
Pourquoi faire simple quand on peut faire compliquer ?
|
|
lundi 27 décembre 2004 à 21:00:43 |
Re : pb d'appel de fonctions (DLL en linkage dynamique)

Gendal67
|
Bon, on va reprendre point par point :
Numéro1, je ne suis pas suffisamment stupide pour ne pas tester la valeur de hDll et venir poster ici en demandant de l'aide! Oui, pour répondre à ta question, j'ai vérifié, et hDll n'est pas égal à NULL!
Numéro 2, j'utilise une dialogbox, donc ton message WM_CREATE.....tu vois, tu peux te le garder....(j'ai fait avec WM_INITDIALOG et cela n'a rien changé pour info)
Numéro3, je ne comprend en rien ta phrase, ou plutot ta critique "Pourquoi faire simple quand on peut faire compliquer ?" <<< explique moi où est le compliqué dans ce code et surtout, donne moi voir la méthode facile, si d'après toi il y en a une!
Voila, sur ce je pourrais ajouter un numéro 4 : tu as le droit de parler sans agressivité, je ne suis pas ton chien, si tu n'as pas envie de m'aider, ne poste pas tes messages tes messages pourris qui n'avancent à rien....
Gendal67, Dev-C++ 4.9.9.1, J'adore cppfrance!! :-))
|
|
lundi 27 décembre 2004 à 21:11:00 |
Re : pb d'appel de fonctions (DLL en linkage dynamique)

BruNews
|
Gendal67 > faudrait repondre aux gens de maniere courtoise, JCDjcd ne t'a en rien agresse. Sa derniere ligne est d'un usage tout ce qu'il y a de sympa.
ciao... BruNews, MVP VC++
|
|
lundi 27 décembre 2004 à 21:12:13 |
Re : pb d'appel de fonctions (DLL en linkage dynamique)

JCDjcd
|
bon puisque que tu le prend ainsi ... je ne comprends pas en quoi je suis agressive ... et pour ta gourverne la derniere phrase n'etait pas pour toi, mais c mon "slogan", car j'aime cette phrase, mais au fait tu m'insulte en ecrivant : "Gendal67, Dev-C++ 4.9.9.1, J'adore cppfrance!! :-))"
j'essayais juste de comrpend le Pb, ce qui est le but de la question, et comme je ne suis pas devin, je ne devine pas pour quelle bonne raison cela vaut NULL.
Pour finir comme tu n'es pas stupide, tu iras surement regarder la doc de la fonction GetProcAddress pour savoir quel genre d'erreur tu as commis (mauvais argument de la fonction). Et puis il reste un derniere solution, quelle est l'erreur systeme ? (GetLastError... (j'espere que je ne t'es pas offense en rapellant le nom de cette fonction))
((((((((((Pourquoi faire simple quand on peut faire compliquer ?)))))))))) <<<< ATTENTION
:)
|
|
lundi 27 décembre 2004 à 21:29:00 |
Re : pb d'appel de fonctions (DLL en linkage dynamique)

Gendal67
|
Bon, et sinon, pour le vif du sujet, je fais quoi ? nan, ça a l'air de coller pour la fonction....moi je c pu quoi faire....j'ai essayé avec EncodeToDffW, EncodeToDffA, EncodeToDffAW, ....:s
Gendal67, Dev-C++ 4.9.9.1, J'adore cppfrance!! :-))
|
|
lundi 27 décembre 2004 à 22:00:38 |
Re : pb d'appel de fonctions (DLL en linkage dynamique)

JCDjcd
|
tu as essaye les librairie Dll juste dans un WinMain, sans de fenetre, pour voir si ca marchait ?
|
|
lundi 27 décembre 2004 à 22:12:35 |
Re : pb d'appel de fonctions (DLL en linkage dynamique)

Gendal67
|
Oui, en fait, lol, j'ai eu justement cette idée! lol, je viens à l'instant de finir....voila le code...mais bon, ça ne marche pas +....:(
#include <windows.h>
HINSTANCE hInst, hDll;
typedef bool (*ENCODE) (char*, char*);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { hInst = hInstance; hDll = (HINSTANCE) LoadLibrary("DffEncoding.dll"); if(!hDll) { MessageBox(0, "Impossible de charger la librairie", "Erreur au chargement", 0); return 1; } ENCODE pEncode; pEncode = (ENCODE) GetProcAddress(hDll, "EncodeToDff"); if(!pEncode) { MessageBox(0, "Fonction non trouvée", "Fonction manquante", 0); return 1; } (pEncode) ("D:\\file.bmp", "D:\\file.dff"); }
|
pEncode vaut toujours 0.... Gendal67, Dev-C++ 4.9.9.1, J'adore cppfrance!! :-))
|
|
lundi 27 décembre 2004 à 22:15:55 |
Re : pb d'appel de fonctions (DLL en linkage dynamique)

Gendal67
|
Euh, je ne sais pas pk, mais cela peut-il venir d'une mauvaise exportation de la fonction de la DLL ? voici le code dans la DLL...(dans le fichier .cpp de la DLL) bool DLLEXPORT EncodeToDff(char* fichier, char* dest);
BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) { switch (reason) { case DLL_PROCESS_ATTACH: break;
case DLL_PROCESS_DETACH: break;
case DLL_THREAD_ATTACH: break;
case DLL_THREAD_DETACH: break; } return TRUE; }
bool DLLEXPORT EncodeToDff(char* fichier, char* dest) {
//instructions
}
|
Gendal67, Dev-C++ 4.9.9.1, J'adore cppfrance!! :-))
|
|
lundi 27 décembre 2004 à 22:34:18 |
Re : pb d'appel de fonctions (DLL en linkage dynamique)

Gendal67
|
En regardant dans le fichier .def de ma dll, j'ai trouvé ceci :
_Z11EncodeToDffPcS_ @ 3 ; EncodeToDff(char*, char*)
J'ai compris qu'on peut utiliser le cardinal (le truc de gauche ?)..mais cela ne marche tjs pas...... :s
Gendal67, Dev-C++ 4.9.9.1, J'adore cppfrance!! :-))
|
|
Cette discussion est classée dans : pb, code, dll, char, pencode
Répondre à ce message
Sujets en rapport avec ce message
Pb code source CMphSock [ par xaviou ]
Salut.J'ai téléchargé le projet "CMphSock" : Utilisation de Winsock sans MFC.Je l'ai compilé en mode Debug : tout est OKJ'ai essayé en mode Release :
PB DE CHAINE DE CARACTERE [ par Orkblutt ]
pkoi ceci me genere t'il une erreur a l'execution??#include void main(){ int o; o=2000; char* O=new char; itoa(o,O,10); char* ch="Fichier"; strcat(ch,
PB DE CHAINE DE CARACTERE [ par Orkblutt ]
pkoi ceci me genere t'il une erreur a l'execution??#include void main(){ int o; o=2000; char* O=new char; itoa(o,O,10); char* ch="Fichier"; strcat(ch,
pb avec les dll !!! [ par ToasTy62 ]
bon g une kestion a poser ki me tracasse... arghqd on fé une dll, on pt y mettre des variables globales, ok.ms est-ce ces variables globales sont tjrs
Dll en c++ dans du code C [ par rurouni41 ]
bonjour, je dois integrer une DLL codee en C++ dans un programme en c...Donc je voulais savoir s'il y avait moyen(et comment faire) d ouvrir et d'util
Pb Class et pointeur ... [ par payen ]
salut a tous,j'ai un petit probleme en C++: j'ai definit une class CImage, avec entre autre, un pointeur vers une variable de type char (char *nom_ima
Pb avec les printf [ par PierScher ]
voici le code pour afficher un pendu :printf(" ++++++++++++++++++++++++\n");printf("
Autre question sur les pointeurs [ par Darkneon ]
Salut,J'ai le code suivant.#include char strA[27] = "abcdefghijklmnopqrstuvwxyz";int main(void){ char *pA;
pb de polygones et autres [ par dbtm ]
Salut payen, et les autres..?J'ai d'autres bugs, en plus de l'affichage de mes polygones.L'executable créé marche sous vc mais bugge quand je le lance
pb avec variable [ par jeffise57 ]
Please aidez moiJe reçoit comme arugument du fonction des variables unsigned char* et je doit passer dans une deuxième fonction les même arguments mai
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|