Bonjour, j'ai developper une surcouche a msxml pour une appli, bon je suis arrivé a faire ce que je voulais mais j'ai un probleme avec la fonction "Release()" il me semble qu'elle sert a recuperer la memoire (vidage des listes, des nodes... et du docXML), ptet je me trompe... en tout cas je fais ca et ca marche pas
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
CNoeud* res = new CNoeud();
MSXML2::IXMLDOMDocumentPtr doc;
HRESULT hr;
CoInitialize(NULL);
hr = doc.CreateInstance(__uuidof(DOMDocument40));
if (FAILED(hr))
{
res = NULL;
}
else
{
doc->async = VARIANT_FALSE;
if(doc->load(NomFichier.c_str()) == VARIANT_TRUE)
{
MSXML2::IXMLDOMNodeListPtr pere = doc->selectNodes(balise.c_str());
MSXML2::IXMLDOMNodePtr noeud_courant = NULL ;
int count = pere->length;
int i = 0;
while( count-- )
{
pere->get_item(i++,&noeud_courant);
//ajout d'un fils
CNoeud* fils = new CNoeud();
res->AjouterFils(&fils,noeud_courant,&res);
//appel recursif avec le nouveau fils
GetNoeuds(noeud_courant,&fils);
}
}
}
doc->Release();
CoUninitialize();
return res;
} |
et la c'est le drame a lexecution, il veut pas faire le Release sur mon doc, meme si il a bien chargé et donc pas null, meme le CoUninitialize() marche pas je comprends pas...
Voila si vous avez eu ce pb ou si vous voyer mon probleme Merci,
Sans vouloir abusé si quelqu'un sait faire pour créer un doc unicode via MSXML... Merci
Partager