Bonjour à tous !

Je réalise un petit programme dans lequel j'ai un tabControl avec plusieurs Tabs dont chacun contient un dataGridView.

Déclarés comme suit :
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
 
 
public:
 
		array<System::Windows::Forms::TabPage ^> ^ MyTab;
		array<System::Windows::Forms::DataGridView^> ^ MyDataG;
 
private: System::Windows::Forms::DataGridView^  dataGridView1;
...
private: System::Windows::Forms::DataGridView^  dataGridView30;
 
private: System::Windows::Forms::TabControl^  tabControl1;
 
private: System::Windows::Forms::TabPage^  tabPage1;
...
private: System::Windows::Forms::TabPage^  tabPage30;
initialisé comme suit :

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
 
DataProc(void)
		{
			InitializeComponent();
			//
			//TODO*: ajoutez ici le code du constructeur
			//
			MyDepotProc = gcnew array<DepotProc ^>(256);
			DepotProc^ T = gcnew DepotProc();
			for(int p = 0; p<=255; p++){MyDepotProc[p] = T;};
 
 
	  MyTab = gcnew array<System::Windows::Forms::TabPage ^>(30);
	  MyDataG = gcnew array<System::Windows::Forms::DataGridView ^>(30);
 
MyTab[0] = tabPage1;
...
MyTab[29] = tabPage30;
 
MyDataG[0] = dataGridView1;
...
MyDataG[29] = dataGridView30;
Dans une de mes fonctions j'itère sur mes Tab (et DatagridView) :

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
 
if(this->MyDataG[k]->RowCount != 0)
	{
		for(int y = 0; y<= this->MyDataG[k]->RowCount-1 ; y++)
		{
			String^ DATE1 = this->MyDataG[k]->Rows[y]->Cells[2]->Value->ToString();
 
	...
 
			String^ DATE2;
 
			if( !String::IsNullOrEmpty( (this->MyDataG[k])->Rows[y]->Cells[3]->Value->ToString()))
			{ 
				DATE2 = (this->MyDataG[k])->Rows[y]->Cells[3]->Value->ToString();
			}
			else
			{
				DATE2 = "01/01/1980";
			}
 
			...
Et là j'ai le message d'erreur (la référence d'objet n'est pas définie à une instance d'un objet) pour la ligne avec le IsNullOrEmpty !!!?!

Je ne comprend pas pourquoi d'autant plus qu'en debug si l'étape est "ignorée" les données sont correctement utilisées .

Un petit idée ? une remarque ??

MERCI !