DLL export de fonction avec argument
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:
Code:
1 2 3
|
extern "C" __declspec(dllexport) void LetterList();
extern "C" __declspec(dllexport) void somme(int, int); |
LetterList() affiche simplement toutes les lettres de l'alphabet.
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:
Code:
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); |
Ok, tout est clean, je lance le programme et voilà le résultat à l'écran:
Citation:
Envoyé par Console
LetterList(): a b c d e f g h i j k l m n o p q r s t u v w x y z
Somme: 12
Tout marche nickel!!
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.