Komisches Problem beim Sub aufrufen: "System.NullReferenceException" - "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt."

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Komisches Problem beim Sub aufrufen: "System.NullReferenceException" - "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt."

    Ich versteh nicht wo genau dieses System.NullReferenceException auftretet...
    Kriegt ihr es raus?

    Form1:

    VB.NET-Quellcode

    1. Dim ObjectQuestions As New Questions
    2. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    3. ObjectQuestions.LoadPool()
    4. ...


    Klassen Code:

    VB.NET-Quellcode

    1. Public Class Questions
    2. Public ReadOnly Frage1 As List(Of String) = New List(Of String)(New String() {"Frage1", "Antwort1.1", "Antwort1.2", "Antwort1.3", "Antwort1.4", "1"})
    3. Public ReadOnly Frage2 As List(Of String) = New List(Of String)(New String() {"Frage2", "Antwort2.1", "Antwort2.2", "Antwort2.3", "Antwort2.4", "2"})
    4. Public ReadOnly Frage3 As List(Of String) = New List(Of String)(New String() {"Frage3", "Antwort3.1", "Antwort3.2", "Antwort3.3", "Antwort3.4", "3"})
    5. Public ReadOnly Frage4 As List(Of String) = New List(Of String)(New String() {"Frage4", "Antwort4.1", "Antwort4.2", "Antwort4.3", "Antwort4.4", "4"})
    6. Public ReadOnly Frage5 As List(Of String) = New List(Of String)(New String() {"Frage5", "Antwort5.1", "Antwort5.2", "Antwort5.3", "Antwort5.4", "2"})
    7. Public QuestionPool As List(Of List(Of String)) = Nothing
    8. Public ReadOnly QuestionCount As Integer = 5
    9. Public Function getQuestion(ByVal ID As Integer) As List(Of String)
    10. Dim Frage As List(Of String) = New List(Of String)
    11. Select Case ID
    12. Case 1
    13. Frage = Frage1
    14. Case 2
    15. Frage = Frage2
    16. Case 3
    17. Frage = Frage3
    18. Case 4
    19. Frage = Frage4
    20. Case 5
    21. Frage = Frage5
    22. End Select
    23. Return Frage
    24. End Function
    25. Public Sub LoadPool()
    26. For i As Integer = 1 To QuestionCount
    27. QuestionPool.Add(getQuestion(i))
    28. Next
    29. End Sub
    30. End Class


    Markiert wird "LoadPool" in der Schleife bei "QuestionPool.Add(getQuestion(i))" mit der im Titel genannten Fehlermeldung.

    Wär dankbar für jede Hilfe
    Thx

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „SEX“ ()

    Ja, und was ist die Fehlerzeile?
    Edit:// Ok, hier war es ersichtlich. QuestionPool ist Nothing.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    Trade schrieb:

    Ja, und was ist die Fehlerzeile?
    Edit:// Ok, hier war es ersichtlich. QuestionPool ist Nothing.


    Markiert wird "QuestionPool.Add(getQuestion(i))" in "LoadPool" Sub
    Ein Ausnahmefehler des Typs "System.NullReferenceException" ist in Quiz.exe aufgetreten.
    Zusätzliche Informationen: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.


    Mfg

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „SEX“ ()

    Hey,

    evtl. solltest Du Dein Design überdenken. Eine Frage lässt sich wunderbar als Klasse darstellen. Oder auch ist eine DataTable sehr gut für sowas geeignet. Mit der gezeigten Herangehensweise landest Du schnell in der Unübersichtlichkeit.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    @SEX Pack das in ein Dictionary(Of String, Sring).
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!