[debutant] Problème de passage de paramètre à une dll
Bonjour,
Je suis sur un projet en C/C++ et j'en ai pas fait depuis 3/4 ans, donc j'ai pas mal de soucis. Surtout que y'a 3/4 ans j'ai appris seulement quelques bases ... :(
Je m'essaye à l'utilisation de dll, je suis sous Windows XP et j'utilises code::block. La dll est la suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| #include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#ifdef BUILD_DLL
#define DLL_EXPORT __declspec(dllexport)
#else
#define DLL_EXPORT
#endif
void affiche(char *name)
{
printf("Hello world %s",name);
} |
Je copie ensuite la dll dans le dossier de mon programme principal
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
#include <iostream>
#include <windows.h>
void aff(char *mystr);
int main()
{
char *name = "Greg";
printf("%p",name);
aff(name);
HINSTANCE DLLHandle;
typedef char (*PointeurFonctionType)();
PointeurFonctionType PointeurFonction;
DLLHandle = LoadLibrary("sample.DLL");
PointeurFonction = (PointeurFonctionType)GetProcAddress(DLLHandle,"affiche");
PointeurFonction(name);
return 0;
}
void aff(char *mystr){
printf("%s",mystr);
} |
Le problème se situe lors de l'appel de la fonction de la dll avec le paramètre, il me met le message d'erreur suivant :
main.cpp:19: error: too many arguments to function
Pouvez-vous m'aider à comprendre ce qu'il se passe exactement ? 8O
Merci