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 : 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);
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 : 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);
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.