Witam.
Mam pewien problem ktory wykracza poza moja wiedze...
Mam aplikacje ktora zawiera Panel. na tym panelo generowana jest dynamicznie w czasie dzialania programu tablica elementow o podanym rozmiarze...
Elementami sa custom control... za kazdym razem gdy uzytkowik chce stworzyc nowa tablice elementow... wpisuje on romiar... np 12x12 i do zmiennej MainPanel przypisywany jest nowy panel przy pomocy new panel()... i do niego dodawane sa nowo utworzoene 144 kontorolki tworzace walsnie ta tablice...
i teraz co sie dzieje... po kotryms tam kolejnym generowaniu program wysypuje sie... doszedlem do tego ze dzieje sie to zawsze jak liczac od poczxatku dziala programy w sumie utworzonych zostanie 10000 elementow..
czyli sumujac wszystkie generowane tablice.. i za ktryms kolejnym generowaneiem gdy laczna liczba elementow przekroczy 10000 program siada...
dodam ze proces generacji polega na stworzeniu tablicy kontolek czyli w powzyszym wypadku...12x12
dokonanie szeregu obliczen i przypisanie odpowiednich wartosci kazej kontrkolce...
a nastepnie dodanie ich do panelu przy pomocy mniej wiecej takiej petli:
foreach(Pipe pp in tab)
{
pp.Location = new Point(10+pp.arrX26,10+pp.arrY26);
pp.Visible = true;
this.MainPanel.Controls.Add(pp);
}
wyjatek nie pojawia sie podczas generowania obiektow.. anie podczas obliczen na nich dokonywanych... tylko juz w momencie wyswietlania ich na panelu...
dodam jeszcze ze sprawdzalem od razu wpisanie duzej tablicy aby przekroczyc 10000 elementow... czyli np 100x101 i wyjatek wyskakuje dokladnie podczas wyswietlanie ostatnich elementow...
o to co otrzymuje:
Common Language Runtime Debugging Services
Application has generated an exception that could not be handled.
Proces id = 0x4ec(1260), Thread id 0x858(2136)
natomiast jak wchodze do debugera to wyskakuje komunikat:
An unhandled exception of type 'System.ComponentModel.Win32Exception' occurred in system.windows.forms.dll
Additional information: Error creating window handle.
i podswitla sie linia kodu:
static void Main()
{
Application.Run(new MainForm());
} <<<<<-------------------------
sprawdzalem takze czy to samo sie bedize dzialo jeli po prostu zmienie wlasnosc panelu visible na false... i w tym wypadku aplikacja sie nie wywypuje... a i podczas calej pracy aplikacji przy tej duzej tablicy zajmuje ona max 27mb ramu...
Ma ktokolwiek jakie kolwiek pojecie... lub nawet podejrzenie co sie moze dziac?
Pozdrawiam.