Mam klasę bazową. W jej polach znajdują się tablice dwóch innych klas :
public DockingForms.DockingPanel[] DockingPanelForm = new DockingForms.DockingPanel[100];
public DockingForms.TargetFunctionGraph[] TargetFunctionGraphForm = new DockingForms.TargetFunctionGraph[100]
Po wciśnięciu przycisku, w formatce powinna się utworzyć para powyższych obiektów. Kod poniżej przedstawia utworzenie tych obiektów :
private void wykresFunkcjiCeluToolStripMenuItem_Click(object sender, EventArgs e)
{
int index = counter;
TargetFunctionGraphForm[index] = new DockingForms.TargetFunctionGraph("Target" + index);
DockingPanelForm[index] = new DockingForms.DockingPanel("pTarget" + index);
TargetCollection.Add("Target" + index, TargetFunctionGraphForm[index]);
DockingPanelCollection.Add("pTarget" + index, DockingPanelForm[index]);
TargetCollection["Target" + index].Show(dockMain);
TargetCollection["Target" + index].DockState = WeifenLuo.WinFormsUI.Docking.DockState.Document;
TargetCollection["Target" + index].DockAreas = WeifenLuo.WinFormsUI.Docking.DockAreas.Float | WeifenLuo.WinFormsUI.Docking.DockAreas.Document;
TargetCollection["Target" + index].OnRightClickGraph += new Neurony.DockingForms.RightClickGraphDelegate(TargetPanelChangeDirector);
TargetCollection["Target" + index].OnPropertiesShow += new Neurony.DockingForms.PropertiesShowDelegate(TargetGraphProperties);
TargetCollection["Target" + index].ShowProperties();
counter++;
}
counter - licznik globalny objektów - działa poprawnie
konstruktor dla TargetCollection oraz TargetFunctionGraphForm zmienia wartość pola typu "string" - nie ma błędów
Niestety dla poniższej linii kodu wystąpił wyjątek :
System.NullReferenceException: Object reference not set to an instance of an object.
TargetFunctionGraphForm[index] = new DockingForms.TargetFunctionGraph("Target" + index);
Ciekawe jest to, że sprawdziłem również :
DockingPanelForm[index] = new DockingForms.DockingPanel("pTarget" + index);
I teoretycznie powinien wyskoczyć ten sam wyjątek, jednak ta linijka przechodzi bez problemu.
Ktoś może się z czymś takim spotkał, i wie w czym może być problem ?