Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.

  • VB.NET

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von Davinho.

    Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.

    Hallöchen liebe Com, :D,

    ich hab ein Problem bei der Programmierung von einem Spiel.
    Bin noch'n fortgeschrittener Einsteiger :p
    Ich habe mir einige andere Threads schon angeschaut bin aber leider noch zu keiner Lösung gekommen.

    Und zwar bekomme ich diesen Fehler "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.", in folgendem Code.




    VB.NET-Quellcode

    1. Dim f5() As String = Nothing
    2. Dim gamepy As String = Application.StartupPath & "\Source\game.py"
    3. Dim gamepytext As String = Application.StartupPath & "\gamepy.txt"
    4. Dim Linie As String = 0
    5. Dim f5s As String
    6. Dim zeile As Integer = Nothing
    7. Dim lines() As String = IO.File.ReadAllLines(gamepytext)
    8. f5s = "onPressKeyDict[app.DIK_F4]"
    9. For Each Line As String In IO.File.ReadAllLines(gamepytext)
    10. Linie += 1
    11. Linie = zeile
    12. If Line.Contains(f5s) Then
    13. f5(zeile + 1) = "onPressKeyDict[app.DIK_F4]"
    14. IO.File.WriteAllLines(gamepytext, f5)
    15. Label1.Text = Line
    16. Label2.Text = Linie
    17. End If
    18. Next



    Der Fehler passiert in genau dieser Zeile:
    f5(zeile + 1) = "onPressKeyDict[app.DIK_F4]"





    Kann mir da evtl jmd weiterhelfen ?

    lg

    VB.NET-Quellcode

    1. Dim f5s As String = "Bla"
    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!
    Dann gib mal Deinem Projekt Option Strict On.
    Beseitige die Fehler, dann sehen wir weiter.
    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!
    Hab ich gemacht der Fehler kommt aber immernoch ^^


    ^

    VB.NET-Quellcode

    1. Dim f5() As String = Nothing
    2. Dim gamepy As String = Application.StartupPath & "\Source\game.py"
    3. Dim gamepytext As String = Application.StartupPath & "\gamepy.txt"
    4. Dim Linie As Integer = 0
    5. Dim f5s As String = "onPressKeyDict[app.DIK_F4]"
    6. Dim zeile As Integer = Nothing
    7. Dim lines() As String = IO.File.ReadAllLines(gamepytext)
    8. For Each Line As String In IO.File.ReadAllLines(gamepytext)
    9. Linie += 1
    10. Linie = zeile
    11. If Line.Contains(f5s) Then
    12. f5(zeile + 1) = "onPressKeyDict[app.DIK_F4]"
    13. IO.File.WriteAllLines(gamepytext, f5)
    14. Label1.Text = Line
    15. Label2.Text = Linie.ToString
    16. End If
    17. Next
    f5 ist Nothing bei Dir.

    VB.NET-Quellcode

    1. Dim f5() As String = New String(10) {}
    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!
    Super das hat das Problem gelöst :D

    Eins hätte ich aber noch^^

    Das Programm soll in eine bestimme Zeile, die ausgelesen wird(zeile +1) einen String schreiben.

    Stattdessen aber schreibt des ganz oben den String hin und löscht alles andere :s.
    Wenn ich das noch gelöst bekomme wäre's nice :D
    Ich denke außerdem, dass auch Dim zeile As Integer = Nothing Blödsinn ist. Eine neue Integervariable wird immer auf 0 gesetzt. Kann Integer überhaupt Nothing sein?

    Und WriteAllLines schreibt nun ma alle Zeilen neu...
    :thumbsup: Seit 26.Mai 2012 Oppa! :thumbsup:
    Alles soweit gelöst nur ein Problem jetzt noch xD

    Wie krieg ich es hin, das nach einem Kopiervorgang nicht dieser Fehler
    "Der Prozess kann nicht auf die Datei "Pfad" zugreifen, da sie von einem anderen Prozess verwendet wird."

    beim lesen der entsprechenden datei passiert ?

    Benutze zum kopieren

    VB.NET-Quellcode

    1. If Not IO.File.Exists(gamepytext) Then
    2. IO.File.Copy(gamepy, gamepytext)
    3. End If