Sinnlose "NullReferenceException"?

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Leseratte.

    Sinnlose "NullReferenceException"?

    Hallo,

    ich bekomme bei folgendem Code:

    VB.NET-Quellcode

    1. Public Sub TextDruckChanged(ByVal sender As System.Object, ByVal e As EventArgs)
    2. Dim xy As String = DirectCast(sender, TextBox).Name & "_C"
    3. If DirectCast(sender, TextBox).TextLength < 1 Then
    4. DirectCast(Me.Controls(xy), PictureBox).Image = Nothing
    5. Exit Sub
    6. End If
    7. Dim ToUpperX As String = DirectCast(sender, TextBox).Text.Substring(0, 1).ToUpper()
    8. Select Case ToUpperX
    9. Case "D"
    10. DirectCast(Me.Controls(xy), PictureBox).Image = My.Resources.Druck_D
    11. Case "E"
    12. DirectCast(Me.Controls(xy), PictureBox).Image = My.Resources.Druck_E
    13. Case "F"
    14. DirectCast(Me.Controls(xy), PictureBox).Image = My.Resources.Druck_F
    15. Case "G"
    16. DirectCast(Me.Controls(xy), PictureBox).Image = My.Resources.Druck_G
    17. Case "H"
    18. DirectCast(Me.Controls(xy), PictureBox).Image = My.Resources.Druck_H
    19. Case "J"
    20. DirectCast(Me.Controls(xy), PictureBox).Image = My.Resources.Druck_J
    21. Case "K"
    22. DirectCast(Me.Controls(xy), PictureBox).Image = My.Resources.Druck_K
    23. Case "L"
    24. DirectCast(Me.Controls(xy), PictureBox).Image = My.Resources.Druck_L
    25. Case "M"
    26. DirectCast(Me.Controls(xy), PictureBox).Image = My.Resources.Druck_M
    27. Case "N"
    28. DirectCast(Me.Controls(xy), PictureBox).Image = My.Resources.Druck_N
    29. Case "P", "R"
    30. DirectCast(Me.Controls(xy), PictureBox).Image = My.Resources.Druck_PR
    31. Case "T"
    32. DirectCast(Me.Controls(xy), PictureBox).Image = My.Resources.Druck_T
    33. Case "U"
    34. DirectCast(Me.Controls(xy), PictureBox).Image = My.Resources.Druck_U
    35. Case Else
    36. DirectCast(Me.Controls(xy), PictureBox).Image = Nothing
    37. End Select

    Je nachdem Welchen Buchstaben ich eingebe, in der entsprechenden "DirectCast"-Zeile eine NullReferenceException: "Der Verweis wurde nicht auf eine Objektinstanz festgelegt." Weiß einer warum das so ist? Hab keine Ahnung...

    Vielen Dank!

    Leseratte
    Wie kannst du sicher sein, dass diese sinnlos ist?
    Setzt in der Fehlerzeile nen Breakpoint und schau alles durch bis irgendwas null ist.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.
    Dann bleibt dir nix anderes nen Breakpoint in der Zeile zu setzten und zu schauen ob wirklich eine Picturebox mit dem namen existiert. (in der ControlCollection Controls)


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.
    Ja eben das erste was man da machst ist nachzuschauen was in der Collection drinnen ist. Alternativ kannst du auch in den Designer-Code gehen und nachschauen wo er das Teil reinschmeißt.


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