Niedawno zacząłem zabawę z językiem C#.. ale do rzeczy, opiszę po prostu co robię i jaki rezultat otrzymuję.
Mam solution z kilkoma formami, dodaje do tego samego projektu user control, układam na niej kilka kontrolek, dodaję parę funkcji, zapisuję. Tutaj wszystko jest ok, projekt kompiluje się bez błędów, kontrolka pojawia sie w toolboksie.
Teraz dodaję swoją kontrolkę na kilka form, kompiluję, uruchamiam, wszystko jest OK.
Jednak gdy otwieram w designerze jakąś formę zawierającą moją kontrolkę, dzieją się cuda, najpierw pojawia się informacja o błędzie.
Object reference not set to an instance of an object.
The variable 'wyborNazwy1' is either undeclared or was never assigned.
Mogę przejść do kodu, gdzie jest niby ten błąd, w kodzie jest:
this.Controls.Add(this.wyborNazwy1);
Teoretycznie możliwe gdyby nie to, że kilka linijek kodu wyżej jest:
this.wyborNazwy1 = new Projekt.WyborNazwy();
Pomijając fakt, że pomiędzy tymi dwoma linijakmi jest jeszcze kilka innych odwołujących się do wyborNazwy1 bez żadnego problemu.
Mogę ten błąd zignorować i czasem nawet designer otworzy się poprawnie. Jednak jest to denerwujące i nie zawsze działa.
Spotkaliście się kiedyś z czymś takim?
// edit
Hm. Wygląda na to, że VC# jakby prekompiluje kontrolkę. Widzę, że bruzdzi mi metoda, która wywoływana jest z konstruktora i odwołuje się do bazy danych. Czyli tak jakby IDE wywoływało konstruktor, on wywoływał moją metodę a ona sypała się nie mogąc połączyć się z bazą danych. Dobrze dedukuje? :-)