MFC and STL dll problem

Signaler
Messages postés
2
Date d'inscription
jeudi 26 octobre 2006
Statut
Membre
Dernière intervention
27 octobre 2006
-
Messages postés
2
Date d'inscription
jeudi 26 octobre 2006
Statut
Membre
Dernière intervention
27 octobre 2006
-
Bonjour j'ai un petit soucis

J'ai unbe DLL non MFC ( STL map + iterator ) que j'utilise a partir d'une app MFC

Le probleme arrive quand je recupère un map::iterator d'un objet instancié dans la dll à partir de l' Application MFC. Le end iterator n'est jamais atteint.

Je fais quelque chose comme ca:





// pm is a dll created object instance ot type map<string,object*>
map<string,object*>::iterator it;
pm.map["test"] = &object;
for (it = pm.map.begin();it!= pm.map.end(); it++)
{
    log("iteration");
    log(it->first);
}




Et dans mon log je recupère bien la clé : "user" mais ensuite j'ai une exception illegal memory access car le programme continue comme s'il l'iterateur ne devenait pas end()

De toute facon quand j'ai deux objets dans la map, je n'atteins pas non plus le second objet. Tout se passe comme si le pointer _right de l'iterateur etait faux

Quelqu'un aurait il une piste pour cela?
J'ai essayé a partir de deux appli differentes et j'ai completement refais ma class de dll mais j'ai toujours la meme erreur.
Est-il impossible d'utiliser une dll non MFC dans une application MFC?

1 réponse

Messages postés
2
Date d'inscription
jeudi 26 octobre 2006
Statut
Membre
Dernière intervention
27 octobre 2006

ms VS6 bug:
http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q172/3/96.ASP&NoWebContent=1

You may experience an access violation when you access an STL object through a pointer or reference in a different DLL or EXE