Bonjour,
Je me présente aujourd'hui avec un problème de dll.
Exposé du problème:
Je dispose de deux fonctions dans le code de ma dll:
LetterList() affiche simplement toutes les lettres de l'alphabet.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 extern "C" __declspec(dllexport) void LetterList(); extern "C" __declspec(dllexport) void somme(int, int);
somme(int,int) affiche la somme des deux entiers.
Simplissime.
Bon, je compile mon truc et j'obtient ma dll:
dlltry.dll
Ok, je lance un nouveau projet (j'utilise VC2005)
et j'importe mes deux fonctions:
Ok, tout est clean, je lance le programme et voilà le résultat à l'écran:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 typedef void (WINAPI*cfunc)(); typedef void (WINAPI*fsomme)(int,int); fsomme Somme; cfunc LetterList; ... ... //Chargement de la dll HINSTANCE hLib=LoadLibrary(_T("dlltry.dll")); ... //Chargement des fonctions de la dll LetterList=(cfunc)GetProcAddress((HMODULE)hLib, "LetterList"); Somme=(fsomme)GetProcAddress((HMODULE)hLib, "somme"); ... //Appels aux fonctions LetterList(); Somme(5,7); //Libération de la dll FreeLibrary((HMODULE)hLib);
Tout marche nickel!!Envoyé par Console
Mais le bug apparaît à ce moment là: une jolie fenêtre windows apparaît.
Bon, comme je peux pas mettre l'image de la fenetre sur le forum, je vous donne le lien IMAGESHACK:
http://img321.imageshack.us/img321/6...nstitre0al.png
Nota Bene:
Cette fenêtre n'apparaît pas si je n'utilise pas la fonction somme.
Donc le problème vient de là: somme(int,int) utilise deux arguments, alors que LetterList() n'en utilise aucun.
Quelqu'un peut-il m'aider à résoudre mon problème.
Partager