Partager un pointeur entre 2 classes C++/CLI
	
	
		Bonjour,
J'ai 3 projets: projet C#, projet C++ et projet C++/CLI Wrapper. Mon but est d'utiliser des classes natifs c++ dans un projet C#. C'est pourquoi j'ai créé un projet C++/CLI.
Dans mon projet C++/CLI j'ai 2 classes, classA et classB.
ClassA:
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 
 | //classA.h
 
#pragma once
#include "classB.h"
 
using namespace System;
 
namespace Wrapper {
 
public ref class ClassA
{
public:
    ClassA();
    virtual ~ClassA();
 
    void setProject( String^ i_project );
 
private:
    String^ m_project;
    ClassB^ m_classB;
 
};
 
} | 
 et 
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 
 | //classA.cpp
 
#include "stdafx.h"
#include "classA.h"
 
using namespace Wrapper;
 
 
ClassA::ClassA()
{
    m_classB = gcnew ClassB();
 
}
 
ClassA::~ClassA()
 
{
    if (m_classB)
        delete m_classB;
}
 
void ClassA::setProject( String^ i_project )
{
    m_classB->setProjectFromClassA( i_project );
} | 
 Class B:
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 
 | //classB.h
 
#pragma once
 
using namespace System;
 
namespace Wrapper {
 
    public ref class ClassB
    {
    public:
        ClassB();
        virtual ~ClassB();
 
        inline void setProjectFromClassA( String^ i_project ) { m_project= i_project; };
        void methodB();
 
    private:
        String^ m_project;
 
    };
 
} | 
 et 
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 
 | //classB.cpp
 
#include "stdafx.h"
#include "classB.h"
 
using namespace Wrapper;
 
 
ClassB::ClassB()
{
 
}
 
ClassB::~ClassB()
{
 
}
 
void ClassB::methodB()
{
    String^ test = m_project;
} | 
 Dans mon projet C#, je voudrais réutiliser ces 2 classes A et B: 
	Code:
	
| 12
 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
 
 | using System;
using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using Wrapper;
 
namespace CSharpInterface
{
    public partial class Program
    {
        public ClassA myclassA = new ClassA();
        public ClassB myclassB = new ClassB();
        public void test()
        {
            myclassA.setProject("test");
            myclassB.methodB();
        }
 
 
        static void Main(string[] args)
        {
            Program myprogram = new Program();
            myprogram.test();
        }
    }
} | 
 Mais j'ai un problème lors du debug dans le projet C#.Le string test dans la methodB() de classB reste toujours null. Pourquoi? Comment dois-je implémenter mes classes A et B, ainsi que mon projet C# pour que je puisse bien récupérer le string test dans la methodB()? Avez-vous un exemple de code svp? Je suis forte débutante et un exemple de code m'aiderait beaucoup.
Merci pour votre aide svp.
Cordialement,