Salut !!!
voila j'ai un ptit soucis: j'aimerais utiliser un objet managé dans du code non managé, en l'occurence System::Xml::XmlDocument.
Aprés etre tombé sur l'erreur concernant le code managé dans du non managé (cxxxx), une bonne recherche google et je tombe en autres sur cette doc (vive developez.com ! :-) )

http://nico-pyright.developpez.com/t...rialisationXml

j'essaye donc le wrapper gcroot, comme l'exemple.
En fait j'aimerais tout simplement avoir une donnée membre de type XmlDocument ... voici le code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
#using <mscorlib.dll>
#using <System.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
 
public class optimisationLALR
{
    private:
        int nb_etats;
        int nb_symbole;
    public:
       gcroot <XmlDocument ^> xmlDocSource; 
/* erreur de compil a la ligne ci dessus:
1>.\Compil - F2.cpp(54) : error C2143: syntax error : missing ';' before '<'
1>.\Compil - F2.cpp(54) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>.\Compil - F2.cpp(54) : error C2238: unexpected token(s) preceding ';'
*/
 
    public:optimisationLALR(String^ source)
    {
        try
        {
            xmlDocSource = gcnew XmlDocument();
            xmlDocSource->Load(source);
            Console::WriteLine("Fichier XML chargé correctement" );
 .....
j'ai du mal a resoudre ces erreurs de compil .. j'ai pensé que c'etait peut etre des mauvaises options de compil (concernant par exemple le CLR ...), mais rien n'y fait.
merci d'avance,
Pierre