Fehler beim Erstellen des Formulars. Weitere Informationen finden Sie in Exception.InnerException. Fehler: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt..

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von xCM2x.

    Fehler beim Erstellen des Formulars. Weitere Informationen finden Sie in Exception.InnerException. Fehler: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt..

    Hallo, ich bekomme bei diesem Code die folgende Fehlermeldng :
    Fehler beim Erstellen des Formulars. Weitere Informationen finden Sie in Exception.InnerException. Fehler: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt..

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private a As Integer
    3. Private b As Integer = TextBox1.Text
    4. Private Sub Zufall()
    5. a = Int((Rnd()) * 20)
    6. Select Case a
    7. Case 0
    8. a = 1
    9. Case 1
    10. a = 2
    11. Case 2
    12. a = 3
    13. Case 3
    14. a = 4
    15. Case 4
    16. a = 5
    17. Case 5
    18. a = 6
    19. Case 6
    20. a = 7
    21. Case 7
    22. a = 8
    23. Case 8
    24. a = 9
    25. Case 9
    26. a = 10
    27. Case 10
    28. a = 11
    29. Case 11
    30. a = 12
    31. Case 12
    32. a = 13
    33. Case 13
    34. a = 14
    35. Case 14
    36. a = 15
    37. Case 15
    38. a = 16
    39. Case 16
    40. a = 17
    41. Case 17
    42. a = 18
    43. Case 18
    44. a = 19
    45. Case 19
    46. a = 20
    47. End Select
    48. End Sub
    49. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    50. Zufall()
    51. End Sub
    52. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    53. If b = a Then
    54. MsgBox("Gut gemacht !!! Die Zahl " & a & " war richtig Willst du weiter machen ???? ", MsgBoxStyle.YesNo, "Super !!!")
    55. If MsgBoxResult.Yes Then
    56. Zufall()
    57. End If
    58. End If
    59. If a > b Then
    60. MsgBox("Die Zahl ist zu niedrig !!! ")
    61. End If
    62. If a < b Then
    63. MsgBox("Die Zahl ist zu hoch !!! ")
    64. End If
    65. End Sub
    66. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    67. Zufall()
    68. End Sub
    69. End Class

    Ich habe bei dieser einfachen gelegenheit mal ein bissl mit Function und Private Sub und Blablabla herumgeprobt^^
    :thumbsup: :thumbsup: :thumbsup:
    Dieses Problem hatte ich auch ab und zu, woher das kommt kann ich mir bis heute nicht erklaeren, Google sagt das waere ein Kompilier Bug.
    Loesung: Neues Projekt erstellen, Code kopieren.

    Aaaaber:
    Der Code....
    Warum so ein langes Select? Wenn du doch jedes mal 1 addierst, warum schreibst du nicht gleich a += 1 oder a = a + 1 ?
    Aaaahhh andere haben das Problem auch. :D :rolleyes: ;)



    Ich dachte schon mein PC is im Arsch. Ja, neues Projekt Code kopieren (wenn es geht auch die Steuerelemente)

    Manschmal ist auch die Form im im Designer nicht mehr verfügbar. Da hilft das schon gennante manchmal auch nur (mit den steuerelementen könnte das aber schwer werden ;) )



    PS: warum veränderst du die ganzen Zahlen?
    Private b As Integer = TextBox1.Text


    Das ist das Problem.
    Zum einen ist der Inhalt einer textbox String, zum anderen muss die Textbox1 erst "erstellt" werden durch Form_load.
    Schreib das ins Button1 event und es kommt kein Fehler mehr.
    Das ist kein Kompiler bug


    Abgesehen davon das der Code mit dem Select Case völlig sinnfrei ist.
    Mit deiner Random Methode ganz einfach:

    a = Int((Rnd()) * 20) +1

    Alternativ:

    Dim rand As New Random
    Dim a = rand.Next(1, 21)

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private a As Int16
    3. Private b As Int16
    4. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    5. Dim rand As New Random
    6. a = rand.Next(1, 21)
    7. End Sub
    8. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    9. b = CInt(TextBox1.Text)
    10. If a = b Then
    11. Dim rand As New Random
    12. a = rand.Next(1, 21)
    13. MsgBox("Rischtisch")
    14. ElseIf (a > b) Then : MsgBox("Die gesucht Zahl ist größer")
    15. ElseIf (a < b) Then : MsgBox("Die gesuchte Zahl ist kleiner")
    16. End If
    17. End Sub
    18. End Class
    Das ist meine Signatur und sie wird wunderbar sein!

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Mono“ ()

    Der Fehler kommt nicht davon, VB2008 würde es wahrscheinlich auch so selber konvertieren. Das Problem ist, das du den Inhalt von Textbox1.text schon vor dem Form_Load event ausliesst.
    Das ist meine Signatur und sie wird wunderbar sein!
    Warscheinlich schon, jo.

    @Mono:
    Manchmal kommt dieser Fehler vollkommen willkuerlich, hab die zuweisung jetzt uebersehen, aber ich hatte das Problem mal bei einer Form mit Controls aber ausser dem Designercode nur eine MessageBox im Button1_Click.