Bonjour,
Je suis entrain de développer un wrapper entre un kernel en c++ et une ihm en WPF et viens de tomber face à un os.

Petit exemple :

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
 
namespace nA {
 public ref class cmA{
  internal:  
   cnA * pointeurA;
 };
 
 public ref class cmB{
  internal:  
   cnB * pointeurB;
  public :
   property cnA ^Membre{
   cmA ^ get() {
    cmA ^res = gcnew cmA();
    res->pointeurA = pointeurB->Membre;
    return res;
   }
 };
}
Cette première partie marche très bien
avec cn signifiant classe native et cm classe managée.

Quand je veux faire ça par contre il n'y arrive pas:
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
 
namespace nA {
 public ref class cmA{
  public :  
   cnA * pointeurA;
 };
}
namespace nB {
 using namespace nA;
 public ref class cmB{
  internal:  
   cnB * pointeurB;
  public :
   property cnA ^Membre{
   cmA ^ get() {
    cmA ^res = gcnew cmA();
    res->pointeurA = pointeurB->Membre; // pointe ici
    return res;
   }
 };
}
en me disant :

1> : error C2248: 'nA::cmA::pointeurA' : cannot access private member declared in class 'nA::cmA'
1> : see declaration of 'nA::cmA::pointeurA'
1> : see declaration of 'nA::cmA'

ces erreurs pointent là ou se trouve le commentaire.

J'aurais donc aimé savoir si il y avait un moyen d'accéder au pointeur natif d'une autre assembly en c++ managé.

Merci d'avance, Tarboeuf