Podczas zamykania aplikacji .NET CF 3.5 na komputerze Motorola MC3100 (tylko wersja CE 6.0) pojawia się komunikat o błędzie "Aplikacja xxx napotkała poważny błąd i musi się zamknąć ". Następnie muszę rozgrzać urządzenie, aby aplikacja działała ponownie.CE 6.0/.NET CF 3.5 Aplikacja napotkała poważny błąd (MC3100)
Ten kod działa poprawnie do momentu zamknięcia aplikacji i kończy się niepowodzeniem, jeśli w sterowaniu w aplikacji jest ustawiona czcionka. Wszystko działa również dobrze na .NET CF 2.0 i wszystkich innych urządzeniach Motorola, Intermec, Psion, HHC, które wypróbowałem z .NET CF 3.5.
Tu jest mój bieżący kod testowy:
[MTAThread]
static void Main()
{
Control oCtrl = new Control();
oCtrl.Font = new System.Drawing.Font("Tahoma", 10F, System.Drawing.FontStyle.Bold);
// Setting the controls font to null works
// oCtrl.Font = null; Works
// Setting the Control to null does not work, still get error
// oCtrl = null; Doesn't work
// Setting a font, not on a control, also works fine.
// System.Drawing.Font font = new System.Drawing.Font("Tahoma", 10F, System.Drawing.FontStyle.Bold);
}
Widziałem kilka linków, które wydają się związane:
Ale jak dotąd jedyne zalecenie, które znalazłem, to wyeliminowanie czcionek w aplikacji. W tym przypadku jest zbyt wiele miejsc, w których ustawione są czcionki, w tym połączone zespoły, że byłoby to niemożliwe.
Czy ktoś jeszcze widział coś takiego. Wygląda na to, że ma coś wspólnego z kontrolkami, które nie są w odpowiedni sposób usuwane z czcionek w tych wersjach.
Założę się, że jeśli przeniesiesz ten kod do prostego formularza, który został uruchomiony przez Application.Run, czy nadal ma ten problem? – tcarvin
Tak, to prawda. Zacząłem od naszej pełnej aplikacji i obnażyłem kod, dopóki nie wyizolowałem problemu do tych kilku linii. – skeeve
Po godzinach i godzinach debugowania znajduję się teraz w tym samym punkcie. Czy znalazłeś rozwiązanie swojego problemu? –