cs_mamag
Messages postés48Date d'inscriptionvendredi 10 juin 2005StatutMembreDernière intervention 6 octobre 2005
-
20 juin 2005 à 10:38
cs_mamag
Messages postés48Date d'inscriptionvendredi 10 juin 2005StatutMembreDernière intervention 6 octobre 2005
-
20 juin 2005 à 13:05
Bonjour,
J'ai créer une DLL qui doit retourner plusieurs paramètres au pg appelant. cela fait plusieurs jour que j'essai de la tester, je voulais faire un programme qui faisait appel à la DLL, je me suis inspirée de plusieurs tutoriaus, masi je n'y arrive pas.
après plusieurs jours d'essais et àforce de faire des essais, je suis complètement perdue.
Je commence à m'énervée car la DLL devrait déjà être finie!!
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 20 juin 2005 à 10:47
Dis où tu bloques précisément sinon difficile de t'aider.
Il y a de nombreux exemples de DLLs en sources sur cppfrance, ça devrait t'inspirer.
Passe un pointeur de structure à ta DLL pour de nombreux paramètres modifiables.
cs_mamag
Messages postés48Date d'inscriptionvendredi 10 juin 2005StatutMembreDernière intervention 6 octobre 2005 20 juin 2005 à 11:32
C'est à dire qu'il faut que je rajoute le .lib de ma DLL dans Project->Setting et pour le debug et le release? je vais esayer
désolée, mais je suis une vraie débutante!
sinon est-ce que le reste est bon (emploi du pointeur et du GetProcAddress...)
merci beaucoup de m'aider
Vous n’avez pas trouvé la réponse que vous recherchez ?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 20 juin 2005 à 11:48
Si tu as le h et le lib au linker, il faudra enlever LoadLibrary et GetProcAddress, c'est liaison statique OU dynamique mais pas les 2.
Opte pour le lib au linker (statique), plus simple à gérer et le système annonce direct si DLL non trouvée au lancement du prog.
cs_mamag
Messages postés48Date d'inscriptionvendredi 10 juin 2005StatutMembreDernière intervention 6 octobre 2005 20 juin 2005 à 11:58
d'accord, je vais essyer ...
mais si je n'utilise pas le LoadLibrary et getprocAddress, je dois faire comment pour tester ma DLL, pour l'appeler et récupérer les valeurs de retour.
Merci de consacrer un peu de temps à mon problème car j'en ai vraiment besoin!
cs_mamag
Messages postés48Date d'inscriptionvendredi 10 juin 2005StatutMembreDernière intervention 6 octobre 2005 20 juin 2005 à 12:41
Il ne me reconnait toujours pas ma fonction.
(Pour être sûr de ce que je fais), ma DLL contient une fonction IMU_connect qui retourne deux paramètre et que j'ai déclaré comme suit:
extern "C"__declspec(dllexport) WINAPI IMU_connect(CString* etat, CString* defaut))
{....}
je n'ai pas de h pour la DLL, par contre dans mon pg cpp qui vva appelé ma DLL, je crée un point h ou je mets:
typdef void (WINAPI *DLL_Function_Imu_connect) (CString *setat, CString* defaut);
dans mon projet cpp dans Project->Settings, je rajoute le chemin pour accéder DLL.lib (mais je ne fais pas #import de ma DLL dans le cpp)
et il me suffit d'appeler ma fonction:
void main{DLL_Function_Imu_connect(etat, defaut)
...}
c'est bien ca? car apparemment ca ne marche pas!
cs_mamag
Messages postés48Date d'inscriptionvendredi 10 juin 2005StatutMembreDernière intervention 6 octobre 2005 20 juin 2005 à 13:05
en fait, j'ai déclaré ma fonction comme ceci car je l'avais vu dans un exemple:
extern "C"__declspec(dllexport) WINAPI IMU_connect(CString* etat, CString* defaut))
{....}
mais je ne sais pas ce qu'est WINAPI?