Export de fonctions EXE -> DLL et DLL -> EXE

rclsilver02 Messages postés 130 Date d'inscription mercredi 19 mars 2003 Statut Membre Dernière intervention 10 février 2012 - 22 déc. 2004 à 17:48
rclsilver02 Messages postés 130 Date d'inscription mercredi 19 mars 2003 Statut Membre Dernière intervention 10 février 2012 - 22 déc. 2004 à 18:31
Bonjour,
Alors ce problème est assez compliqué, donc je vais essayer d'être le plus clair possible.

Je fais un programme qui pourra charger dynamiquement des modules contenus dans des DLL.

Pour cela, les DLL exporteront des fonctions qui seront utilisables dans l'EXE. Pour éviter de recopier inutilement des fonctions dans les DLL, l'EXE exportera également des fonctions.

J'ai réussi à exporter mes fonctions, or, quand j'utilise par exemple une fonction qui vient d'une DLL qui exporte une chaine de type std::string, cela provoque un BreakPoint (message n° sur le screenshot), puis quand je clique sur continuer l'execution du projet, j'obtiens le message n°2.

[IMG=http://rclsilver.free.fr/question_dll/exec.JPG]

Pourtant, d'apres ces 2 screenshots qui suivent, mes fonctions sont bien exportés correctement :

http://rclsilver.free.fr/question_dll/export_dll.JPG
http://rclsilver.free.fr/question_dll/export_exe.JPG

Je ne comprends pas, en plus, on peut remarque (cf 1er screenshot) que l'execution qui provoque le breakpoint est bien executée... donc ça doit venir d'une libération non faite ou quelque chose comme ça non ? Enfin je sais pas du tout (c'est pour ça que je demande).

Si vous voulez des informations complémentaires, n'hésitez pas à demander.

A oui j'allais oublier :
- J'utilise Visual Studio 6.0 (et sur VS7 ça fait la même erreur)
- Le projet est disponible sur http://rclsilver.free.fr/question_dll/test_dll.zip

Merci d'avance, j'espère que j'ai été clair :)

2 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
22 déc. 2004 à 18:26
Une dll n'a pas a exporter de std::string ni autres bidules de ce genre, on fournit un buffer a la fonction et elle le remplit.

ciao...
BruNews, MVP VC++
0
rclsilver02 Messages postés 130 Date d'inscription mercredi 19 mars 2003 Statut Membre Dernière intervention 10 février 2012
22 déc. 2004 à 18:31
hum, il est bien possible d'exporter des class et cie non ? pck c'est pareil a chaque fois (la c'est juste une reconstitution)... :/
0
Rejoignez-nous