Pb d'exportation de Vector

Résolu
Spiffou Messages postés 100 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 9 juin 2014 - 24 janv. 2008 à 16:48
Spiffou Messages postés 100 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 9 juin 2014 - 28 janv. 2008 à 10:25
Bonjour à tous,

je suis face à un problème épineux sur la transmission d'objet entre 2 DLL.
je travaille actuellement sur une dll exportant un vector dans l'une des méthodes de son interface:
    std::vector<Lane> *GetListLanes()=0;
et je recupère dans ma DLL appelante la liste de Lane fournie par la DLL appelée (grace à la méthode ci-desus).
Jusqu'ici pas de problème; les ennuis commencent lorsque j'essaie d'accéder à mon vector dans la DLL appelante.
En effet, une erreur se déclenche presque à chaque fois.
Après investigation, j'ai remarqué qu'en fait l'erreur ne se produisait que lorsque la DLL appelante et la DLL appelée n'étaient pas toutes les deux compilées en Debug ou en Release.

En sommes, la STL semble de ne pas créer les vector de la même façon en Debug et en Release, ce qui me mène à ma question:
<li>pouvez vous confirmer mon analyse du problème?</li><li>peut-on via les options de compilation éviter le problème?</li>merci d'avance pour vos réponse.

ps: si vous connaissez un site où il y a des explications un peu précises sur le sujet, je suis preneur.

2 réponses

mezaya Messages postés 202 Date d'inscription dimanche 18 mai 2003 Statut Membre Dernière intervention 6 mars 2010
26 janv. 2008 à 16:27
Salut,

oui je confirme que la majorité des container (voir tous) n'ont pas le même nombre de champ en debug et en release. Tous simplement pour pouvoir asserter des conditions d'utilisation de ces container.
3
Spiffou Messages postés 100 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 9 juin 2014 1
28 janv. 2008 à 10:25
ok merci pour la précision, c'est bien ce qu'il me semblait.
mais c'est quand même moils pratique au niveau de l'export de données...
0
Rejoignez-nous