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