Page freezt und Emulator spuckt Exception

  • C#

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von iEi.

    Page freezt und Emulator spuckt Exception

    Hey Com,

    melde mich mal wieder mit nem Fehler.Undzwar beim laden der Seite bricht der Emulator ab und die Page freezt.Danach wird eine Exception geschmissen **unten ein
    Bild**

    Mein Code beim Initializieren der Seite:

    C#-Quellcode

    1. //Context des Service
    2. public QuickBloxSDK_Silverlight.QuickBlox helloomsg;
    3. //Haupt-App-Context
    4. public App appContext;
    5. public UserCreationPage()
    6. {
    7. InitializeComponent();
    8. //Initialisieren des UI Modells
    9. DataContext = this;
    10. //Aufsetzen der Seiten-Handler
    11. this.Loaded += new RoutedEventHandler(UserCreationPage_Loaded);
    12. this.Unloaded += new RoutedEventHandler(UserCreationPage_Unloaded);
    13. this.BackKeyPress += new EventHandler<CancelEventArgs>(UserCreationPage_BackKeyPress);
    14. }


    Und die RoutedEventHandler:

    C#-Quellcode

    1. #region Page LifeTime Handlers
    2. /// <summary>
    3. /// Handler for Page Load event
    4. /// </summary>
    5. /// <param name="sender"></param>
    6. /// <param name="e"></param>
    7. public void UserCreationPage_Loaded(object sender, RoutedEventArgs e)
    8. {
    9. //Set Up event handler for User Service
    10. this.helloomsg.userService.UserServiceEvent += new UserService.UserServiceHeandler(UserService_EventHandler);
    11. }
    12. /// <summary>
    13. /// Handler for Page Unload (Closed) event
    14. /// </summary>
    15. /// <param name="sender"></param>
    16. /// <param name="e"></param>
    17. public void UserCreationPage_Unloaded(object sender, RoutedEventArgs e)
    18. {
    19. App.SaveSettings();
    20. //Remove event handler for User Service
    21. this.helloomsg.userService.UserServiceEvent -= new UserService.UserServiceHeandler(UserService_EventHandler);
    22. }
    23. /// <summary>
    24. /// Handler for BackKey Press event
    25. /// </summary>
    26. /// <param name="sender"></param>
    27. /// <param name="e"></param>
    28. public void UserCreationPage_BackKeyPress(object sender, CancelEventArgs e)
    29. {
    30. App.SaveSettings();
    31. //Remove event handler for User Service
    32. this.helloomsg.userService.UserServiceEvent -= new UserService.UserServiceHeandler(UserService_EventHandler);
    33. }
    34. #endregion


    Und nun der UserServiceEventHandler:

    C#-Quellcode

    1. #region QB Services Event Handlers
    2. /// <summary>
    3. /// User Service Event Handler
    4. /// </summary>
    5. /// <param name="args"></param>
    6. void UserService_EventHandler(UserServiceEventArgs args)
    7. {
    8. Dispatcher.BeginInvoke(new Action(() =>
    9. {
    10. switch (args.currentCommand)
    11. {
    12. case UserServiceCommand.AddUser:
    13. {
    14. if (args.status == Status.OK)
    15. {
    16. User resultUser = (User)args.result;
    17. #region Save process status
    18. App.lastValidatedUser = new helloouser(resultUser);
    19. App.lastValidatedUser.Password = Password;
    20. App.lastValidatedUser.isPasswordSaved = true;
    21. App.lastValidatedUser.status = helloouser.RegistrationStatus.Creation;
    22. App.SaveSettings();
    23. #endregion
    24. #region Save data to current service context
    25. helloomsg.UserId = resultUser.id;
    26. helloomsg.Username = resultUser.Username;
    27. helloomsg.Password = Password;
    28. helloomsg.QBUser = resultUser;
    29. #endregion
    30. // helloomsg.userService.SetNewPassword(App.lastValidatedUser.ID, helloomsg.OwnerId, App.lastValidatedUser.Password);
    31. helloomsg.userService.Authenticate(UserName, helloomsg.OwnerId, App.lastValidatedUser.Password);
    32. }
    33. else
    34. {
    35. VisualStateManager.GoToState(this, "NormalState", true);
    36. MessageBox.Show(ServiceError.GetErrorMessage(args.status, args.errorMessage, args.result));
    37. }
    38. break;
    39. }
    40. case UserServiceCommand.Authenticate:
    41. {
    42. if (args.status == Status.OK)
    43. {
    44. #region Save process status
    45. App.lastValidatedUser.status = helloouser.RegistrationStatus.Creation;
    46. App.SaveSettings();
    47. //CurrentRegistrationProcessStatus.Value = 1;
    48. #endregion
    49. this.NavigationService.Navigate(new Uri("/forms/root_panorama/MainPivotPage.xaml", UriKind.Relative));
    50. }
    51. else
    52. {
    53. VisualStateManager.GoToState(this, "NormalState", true);
    54. //CurrentRegistrationProcessStatus.Value = 0;
    55. MessageBox.Show(ServiceError.GetErrorMessage(args.status, args.errorMessage, args.result));
    56. }
    57. break;
    58. }
    59. case UserServiceCommand.SetNewPassword:
    60. {
    61. break;
    62. }
    63. default:
    64. break;
    65. }
    66. }));
    67. }
    68. #endregion


    Was muss ich verändern ? Langsam verzweifle ich ;(

    Greet iEi
    Bilder
    • break.JPG

      216,45 kB, 1.365×767, 163 mal angesehen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „iEi“ ()

    @iEi

    Der Code wäre ein bisschen übersichtlicher, wenn du den C-Tags verwendest. Das geht so:

    Quellcode

    1. [code=cs]Dein Code
    [/code]
    Gruß
    Switcherlapp97
    RubiksCubeSolver


    Jetzt im Showroom
    Die Messagebox strotzt ja nicht unbedingt vor Informationen. Du könntest mal versuchen, ein Try-Catch (nur zu Testzwecken!) drumrumzulegen und dir die entstehende Exception in irgend ne Datei speichern zu lassen, mit StackTrace, InnerException usw., dann kannst du die Fehlerquelle besser eingrenzen,
    @Artentus

    Heandler ist leider nicht mein Fehler sondern von der QuickBlox SDK :)
    Hab ich bis jetzt gibt es nur ein Teil mit null:

    C#-Quellcode

    1. #region INotifyPropertyChanged Members
    2. public event PropertyChangedEventHandler PropertyChanged;
    3. protected void RaisePropertyChanged(string name)
    4. {
    5. if (PropertyChanged != null) // <-- Und zwar nur hier sonst nirgendswo anders außer StringIsEmptyOrNull
    6. PropertyChanged(this, new PropertyChangedEventArgs(name));
    7. }
    8. #endregion


    EDIT://
    Soll ich den Teil rausmachen ?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „iEi“ ()

    Lern doch erstmal irgendwelche Grundlagen und hör mit diesen Ratespielchen auf. Du haust einen zu 100% richtig kopierten Code weg, da du keine Ahnung hast was er macht. Wenn du ein Event auf null überprüfst, dann überprüfst du ob ein Eventhandler gesetzt ist. Ansonsten rennst du in eine Exception.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.