Fehler: System.NullReferenceException

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Rootbob91.

    Fehler: System.NullReferenceException

    Hallo bei mir tritt folgender Fehler auf:

    Ein Ausnahmefehler des Typs "System.NullReferenceException" ist in WindowsApplication1.exe aufgetreten.
    Zusätzliche Informationen: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.

    Mein Code:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Public TextBoxes() As TextBox = {Me.TB1, Me.TB2, Me.TB3, Me.TB4, Me.TB5, Me.TB6, Me.TB7, Me.TB8, Me.TB9, Me.TB10}
    3. Public TextBoxesS() As TextBox = {Me.TB1S, Me.TB2S, Me.TB3S, Me.TB4S, Me.TB5S, Me.TB6S, Me.TB7S, Me.TB8S, Me.TB9S, Me.TB10S}
    4. Public TextBoxesMin() As TextBox = {Me.TB1Min, Me.TB2Min, Me.TB3Min, Me.TB4Min, Me.TB5Min, Me.TB6Min, Me.TB7Min, Me.TB8Min, Me.TB9Min, Me.TB10Min}
    5. Public TextBoxesMax() As TextBox = {Me.TB1Max, Me.TB2Max, Me.TB3Max, Me.TB4Max, Me.TB5Max, Me.TB6Max, Me.TB7Max, Me.TB8Max, Me.TB9Max, Me.TB10Max}
    6. Private Sub ButtonStart_Click(sender As Object, e As EventArgs) Handles ButtonStart.Click
    7. label0.Text = TextBoxes(0).Text
    8. label1.Text = TextBoxes(1).Text
    9. label2.Text = TextBoxes(2).Text
    10. label3.Text = TextBoxes(3).Text
    11. label4.Text = TextBoxes(4).Text
    12. label5.Text = TextBoxes(5).Text
    13. label6.Text = TextBoxes(6).Text
    14. label7.Text = TextBoxes(7).Text
    15. label8.Text = TextBoxes(8).Text
    16. label9.Text = TextBoxes(9).Text
    17. End Sub
    18. End Class


    Ich versuche also den Text aus den Textboxen TB1 - TB10 in ein Datenfeld zu schreiben und dann den in die Label zu schreiben. Ich brauche den Text unbedingt in einem Datenfeld um die Texte weiterzuverarbeiten. Allerdings bekomme ich dann diesen Fehler. Ich beschäftige mich erst seit kurzem mit VB und muss noch vieles ausprobieren, allerdings komme ich hier nicht weiter.
    Hoffe mal ihr könnt mir helfen.
    Geh das ganze doch mal einzelnd durch, also Haltepunkt setzen mit F9 und dann in Einzelschritten durchgehen (je nach IDE anderer Hotkey)..
    F8 oder so, dann kannste ja schauen wo es genau auftritt.

    Hast du sonst schonmal eine List(Of TextBox) versucht? (Wobei das ein Logikproblem nicht ausschließen würde).

    EDIT:
    Hab es mal nachgebaut, der Fehler wird darin liegen, dass die Auflistung der Textboxen zur Zeit erstellt wird, wo den Textboxen noch keine Instanz zugewiesen wurde.
    Du musst die Liste initialisieren, nachdem die Instanzen der Textboxen stehen, ich poste mal ein Beispiel:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Public TextBoxen() As TextBox
    3. Sub New()
    4. ' Dieser Aufruf ist für den Designer erforderlich.
    5. 'HIER werden die Textboxen erst Instanziert!
    6. InitializeComponent()
    7. 'hier nach muss also der Code erfolgen
    8. 'das Load wird auch anschließend aufgerufen
    9. End Sub
    10. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
    11. 'Hier kann ich die Auflistung dann befüllen/initialisieren, denn zu diesem Zeitpunkt sind die TextBoxen instanziert
    12. 'und tragen keinen Nullverweis mit sich.
    13. TextBoxen = {TextBox1, TextBox2, TextBox3}
    14. Label1.Text = TextBoxen(0).Text
    15. Label2.Text = TextBoxen(1).Text
    16. Label3.Text = TextBoxen(2).Text
    17. End Sub
    18. End Class



    Polling is trolling!

    Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „Rootbob91“ ()