Bonjour,
Voici mon problème.
j'aimerai pouvoir écrire ceci avec des classes imbriquées dont une d'elle est un tableau de d'objets.
TBox.Text = StationTravail[nStation].SetNum[ParamNum].StartPosition.ToString();

en c# on fait ca:
fichier Cs de classe:
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
 
public class StationDeTravail
{
	// Déclaration du tableau de station_SETOFPARAM
	public station_SETOFPARAM[] SetNum;
	// Déclaration general properties   
	public general_Properties Properties;  
	 //constructeur
	public StationDeTravail(int NbreParam)                 
    	{// Initialisation du tableau
    	SetNum = new station_SETOFPARAM[NbreParam];
	// Pour chaque élément du tableau
   	for (int inc = 0; inc < NbreParam; inc++)
	{ SetNum[inc] = new station_SETOFPARAM(); }// Initialisation de l'élément
            Properties = new general_Properties();
       }
 
 	public class station_SETOFPARAM
       {//class Station_SETOFPARAM 
       public UInt32 StartPosition;  // position de départ
       public UInt16 EndPosition;    // position de fin
       }
 	public class general_Properties
       {//class general_Properties 
       public bool b_ShowHideStation;//Station visible ou pas
       }
}
Utilisation dans main:
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
 public partial class MainHmi : Form
    {
        private List<StationDeTravail> StationTravail; 
 	 private int nStation = 1;
	 private ParamNum = 1;
        public MainHmi()
        {
            InitializeComponent();
        //prg own objects
        StationTravail = new List<StationDeTravail>(); // Instancie la liste
        for (int inc = 0; inc < 5; inc++) // Pour chaque élément du tableau
        {StationTravail.Add(new StationDeTravail(6));}/*Initialisation des stations*/
//par exemple pour l'exemple
//station 1 param 1
TBox.Text = StationTravail[nStation].SetNum[ParamNum].StartPosition.ToString();
TBox2.Text = StationTravail[nStation].SetNum[ParamNum].EndPosition.ToString();
ParamNum = 2;//station 1 param 2
TBox.Text = StationTravail[nStation].SetNum[ParamNum].StartPosition.ToString();
TBox2.Text = StationTravail[nStation].SetNum[ParamNum].EndPosition.ToString();
nStation = 2;//station 2 param 2
TBox.Text = StationTravail[nStation].SetNum[ParamNum].StartPosition.ToString();
TBox2.Text = StationTravail[nStation].SetNum[ParamNum].EndPosition.ToString();
        }
mais en c++ c'est différent...
dans le fichier .h
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
public class StationDeTravail
{
	virtual ~StationDeTravail(void);//destructeur
	// Déclaration du pointeur tableau de station_SETOFPARAM
	public:
        *station_SETOFPARAM[] ;
	// Déclaration general properties   
	general_Properties Properties;  
	 //constructeur
	StationDeTravail(int NbreParam)  {       };
 
 	class station_SETOFPARAM
       {//class Station_SETOFPARAM 
       public 	:
       uint32_t StartPosition;  // position de départ
       uint16_t EndPosition;    // position de fin
       };
 	class general_Properties
       {//class general_Properties 
       public:
       bool b_ShowHideStation;//Station visible ou pas
       };
}
dans le fichier .cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
StationDeTravail::StationDeTravail(int NbreParam)
{
 // Initialisation du tableau
        *station_SETOFPARAM[NbreParam]	SetNum;
	// Pour chaque élément du tableau
   	for (int inc = 0; inc < NbreParam; inc++)
	{ SetNum[inc] = new station_SETOFPARAM(); }// Initialisation de l'élément //allocation dynamique
            Properties = new general_Properties();
}
StationDeTravail::~StationDeTravail(void)
{
}
Je m'en sors pas...

Merci pour votre aide.