Index war außerhalb des Arraybereichs.

  • VB.NET

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

    Index war außerhalb des Arraybereichs.

    Hallo!

    Wenn ich meinen programmierten MineLauncher starte, und Minecraft starte, dann kommt aber ein Fenster: "Der Index war außerhalb des Arraybereichs."
    Spoiler anzeigen
    "Informationen über das Aufrufen von JIT-Debuggen
    anstelle dieses Dialogfelds finden Sie am Ende dieser Meldung.

    ************** Ausnahmetext **************
    System.IndexOutOfRangeException: Der Index war außerhalb des Arraybereichs.
    bei MineLauncher.Formular.btn_start_Click(Object sender, EventArgs e)
    bei System.Windows.Forms.Control.OnClick(EventArgs e)
    bei System.Windows.Forms.Button.OnClick(EventArgs e)
    bei System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
    bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    bei System.Windows.Forms.Control.WndProc(Message& m)
    bei System.Windows.Forms.ButtonBase.WndProc(Message& m)
    bei System.Windows.Forms.Button.WndProc(Message& m)
    bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


    ************** Geladene Assemblys **************
    mscorlib
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.0.30319.17929 built by: FX45RTMREL.
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll.
    ----------------------------------------
    MineLauncher
    Assembly-Version: 1.0.0.0.
    Win32-Version: 1.0.0.0.
    CodeBase: file:///C:/Users/Daniel/Desktop/MineLauncher1.2.exe.
    ----------------------------------------
    Microsoft.VisualBasic
    Assembly-Version: 10.0.0.0.
    Win32-Version: 11.0.50709.17929 built by: FX45RTMREL.
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll.
    ----------------------------------------
    System
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.0.30319.17929 built by: FX45RTMREL.
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll.
    ----------------------------------------
    System.Core
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.0.30319.17929 built by: FX45RTMREL.
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll.
    ----------------------------------------
    System.Windows.Forms
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.0.30319.17929 built by: FX45RTMREL.
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll.
    ----------------------------------------
    System.Drawing
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.0.30319.17929 built by: FX45RTMREL.
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll.
    ----------------------------------------
    System.Configuration
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.0.30319.17929 built by: FX45RTMREL.
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll.
    ----------------------------------------
    System.Xml
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.0.30319.17929 built by: FX45RTMREL.
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll.
    ----------------------------------------
    System.Runtime.Remoting
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.0.30319.17929 built by: FX45RTMREL.
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll.
    ----------------------------------------
    mscorlib.resources
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.0.30319.17929 built by: FX45RTMREL.
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_de_b77a5c561934e089/mscorlib.resources.dll.
    ----------------------------------------
    System.Windows.Forms.resources
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.0.30319.17929 built by: FX45RTMREL.
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_de_b77a5c561934e089/System.Windows.Forms.resources.dll.
    ----------------------------------------

    ************** JIT-Debuggen **************
    Um das JIT-Debuggen (Just-In-Time) zu aktivieren, muss in der
    Konfigurationsdatei der Anwendung oder des Computers
    (machine.config) der jitDebugging-Wert im Abschnitt system.windows.forms festgelegt werden.
    Die Anwendung muss mit aktiviertem Debuggen kompiliert werden.

    Zum Beispiel:

    <configuration>
    <system.windows.forms jitDebugging="true" />
    </configuration>

    Wenn das JIT-Debuggen aktiviert ist, werden alle nicht behandelten
    Ausnahmen an den JIT-Debugger gesendet, der auf dem
    Computer registriert ist, und nicht in diesem Dialogfeld behandelt."


    Das ist nicht logisch!

    Es hat doch eben noch funktioniert, wie immer gestartet, auch mal im Administratormodus,

    was soll ich tun?

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

    Spoiler anzeigen

    VB.NET-Quellcode

    1. If txt_username.Text = "" Or txt_username.Text = "Username" Then MsgBox("Nickname und/oder Passwort fehlt")
    2. End If
    3. If txt_password.Text = "" Or txt_password.Text = "Password" Then MsgBox("Nickname und/oder Passwort fehlt")
    4. End If
    5. Dim result As String() = verifyUser(txt_username.Text, txt_password.Text) Dim player As String = txt_username.Text
    6. wrong = False
    7. If wrong Then MsgBox("Falscher Nickname oder falsches Passwort", MsgBoxStyle.Critical)
    8. End If
    9. If failed Then Dim result1 As MsgBoxResult result1 = MsgBox("Konnte nicht verbinden. Klicke auf OK, um es erneut zu versuchen, und klicke auf Abbrechen, um offline zu spielen.", "Verbindungsfehler", MsgBoxStyle.OkCancel) If result1 = MsgBoxResult.Cancel Then player = "Player" & My.Computer.Clock.LocalTime.Millisecond result = {"", "", "", ""} Else
    10. End If
    11. End If
    12. Dim sec As New Security Dim IniFile As New INIDatei Dim IniFileName As String If Not Directory.Exists(GetFolderPath(SpecialFolder.ApplicationData) & "\MineLauncher") Then Directory.CreateDirectory(GetFolderPath(SpecialFolder.ApplicationData) & "\MineLauncher") End If IniFileName = GetFolderPath(SpecialFolder.ApplicationData) & "\MineLauncher\" & "lastlogin" IniFile.Pfad = IniFileName
    13. If chkSaveLoginData.Checked Then IniFile.WertSchreiben("Settings", "UserName", txt_username.Text) IniFile.WertSchreiben("Settings", "PassWord", sec.encryptString(txt_password.Text)) IniFile.WertSchreiben("Settings", "SaveLoginData", 1) Else IniFile.WertSchreiben("Settings", "SaveLoginData", 0) End If
    14. If ListView1.SelectedItems.Count > 0 Then
    15. Dim process As New Process Dim info As New ProcessStartInfo Dim item As ListViewItem = ListView1.SelectedItems.Item(0) Dim jarPath As String = item.SubItems.Item(1).Text info.FileName = "javaw" info.CreateNoWindow = True info.Arguments = "-cp " & Chr(34) & jarPath & ";%APPDATA%\.minecraft\bin/lwjgl.jar;%APPDATA%\.minecraft\bin/lwjgl_util.jar;%APPDATA%\.minecraft\bin/jinput.jar;" & Chr(34) & " " & Chr(34) & "-Djava.library.path=%APPDATA%\.minecraft\bin\natives" & Chr(34) & " -Xmx1024M -Xms512M net.minecraft.client.Minecraft " + player + " " + result(3) info.Arguments = info.Arguments.Replace("%APPDATA%", GetFolderPath(SpecialFolder.ApplicationData)) My.Computer.FileSystem.WriteAllText("C:\arguments.txt", info.Arguments, False) process.StartInfo = info process.Start() End Else MsgBox("Keine Jar-Datei ausgewählt!", MsgBoxStyle.OkOnly + MsgBoxStyle.Critical) End If
    16. End Sub

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

    Deshalb solltest du auch die Quellcode-Ansicht benutzen.
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
    Ich tippe mal, dass Dir das den Fehler auslöst:

    VB.NET-Quellcode

    1. Dim result As String() = verifyUser(txt_username.Text, txt_password.Text)


    Poste mal den Code von verifyUser. Lass halt mal in der IDE laufen und setz Haltepunkte.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Spoiler anzeigen

    VB.NET-Quellcode

    1. If txt_username.Text = "" Or txt_username.Text = "Username" Then
    2. MsgBox("Nickname und/oder Passwort fehlt")
    3. End If
    4. If txt_password.Text = "" Or txt_password.Text = "Password" Then
    5. MsgBox("Nickname und/oder Passwort fehlt")
    6. End If
    7. Dim result As String() = verifyUser(txt_username.Text, txt_password.Text)
    8. Dim player As String = txt_username.Text
    9. wrong = False
    10. If wrong Then
    11. MsgBox("Falscher Nickname oder falsches Passwort", MsgBoxStyle.Critical)
    12. End If
    13. If failed Then
    14. Dim result1 As MsgBoxResult
    15. result1 = MsgBox("Konnte nicht verbinden. Klicke auf OK, um es erneut zu versuchen, und klicke auf Abbrechen, um offline zu spielen.", "Verbindungsfehler", MsgBoxStyle.OkCancel)
    16. If result1 = MsgBoxResult.Cancel Then
    17. player = "Player" & My.Computer.Clock.LocalTime.Millisecond
    18. result = {"", "", "", ""}
    19. Else
    20. End If
    21. End If
    22. Dim sec As New Security
    23. Dim IniFile As New INIDatei
    24. Dim IniFileName As String
    25. If Not Directory.Exists(GetFolderPath(SpecialFolder.ApplicationData) & "\MineLauncher") Then
    26. Directory.CreateDirectory(GetFolderPath(SpecialFolder.ApplicationData) & "\MineLauncher")
    27. End If
    28. IniFileName = GetFolderPath(SpecialFolder.ApplicationData) & "\MineLauncher\" & "lastlogin"
    29. IniFile.Pfad = IniFileName
    30. If chkSaveLoginData.Checked Then
    31. IniFile.WertSchreiben("Settings", "UserName", txt_username.Text)
    32. IniFile.WertSchreiben("Settings", "PassWord", sec.encryptString(txt_password.Text))
    33. IniFile.WertSchreiben("Settings", "SaveLoginData", 1)
    34. Else
    35. IniFile.WertSchreiben("Settings", "SaveLoginData", 0)
    36. End If
    37. If ListView1.SelectedItems.Count > 0 Then
    38. Dim process As New Process
    39. Dim info As New ProcessStartInfo
    40. Dim item As ListViewItem = ListView1.SelectedItems.Item(0)
    41. Dim jarPath As String = item.SubItems.Item(1).Text
    42. info.FileName = "javaw"
    43. info.CreateNoWindow = True
    44. info.Arguments = "-cp " & Chr(34) & jarPath & ";%APPDATA%\.minecraft\bin/lwjgl.jar;%APPDATA%\.minecraft\bin/lwjgl_util.jar;%APPDATA%\.minecraft\bin/jinput.jar;" & Chr(34) & " " & Chr(34) & "-Djava.library.path=%APPDATA%\.minecraft\bin\natives" & Chr(34) & " -Xmx1024M -Xms512M net.minecraft.client.Minecraft " + player + " " + result(3)
    45. info.Arguments = info.Arguments.Replace("%APPDATA%", GetFolderPath(SpecialFolder.ApplicationData))
    46. My.Computer.FileSystem.WriteAllText("C:\arguments.txt", info.Arguments, False)
    47. process.StartInfo = info
    48. process.Start()
    49. End
    50. Else
    51. MsgBox("Keine Jar-Datei ausgewählt!", MsgBoxStyle.OkOnly + MsgBoxStyle.Critical)
    52. End If


    Sorry, hier nochmal, @SpaceyX Was soll ich dann tun?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „IceTrailer“ ()

    In welcher Zeile tritt denn der Fehle auf?
    In .NET werden die Indizes von 0 bis (Anzahl-1) gezählt.
    Greifst Du auf Auflistung(Anzahl) zu?
    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!
    :rolleyes:
    die Anzahl der Elemente einer Auflistung.

    VB.NET-Quellcode

    1. Dim aa() As Integer = {1,2,3,4,5}
    Hier ist die Anzahl = 5.
    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!
    Ne, ich greif nicht darauf zu..

    Was mir übrigens noch ein Rätsel ist, wenn ich den Launcher auf z.B. mediafire hochlade, und das mit Chrome downloade, steht da, dass meine Software Malware sei, ist aber völlig falsch, kann man auch aus dem Code lesen..

    RodFromGermany schrieb:

    In welcher Zeile tritt denn der Fehle auf?
    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!
    D.h., dass der Fehler in der Entwicklungsumgebung nicht auftritt?
    Wenn ja, haste nun ein ganz schönes Stück Arbeit.
    Mach mal folgendes:
    Projekt -> Eigenschaften -> Anwendung -> Anwendungsereignisse zeigen
    Es öffnet sich die Datei ApplicationEvents.vb
    Links oben MyApplication-Ereignisse einstellen, rechts oben UnhandledException auswählen.
    Schreib da rein:

    VB.NET-Quellcode

    1. Private Sub MyApplication_UnhandledException(sender As Object, e As Microsoft.VisualBasic.ApplicationServices.UnhandledExceptionEventArgs) Handles Me.UnhandledException
    2. MessageBox.Show(e.Exception.Message & Environment.NewLine & e.Exception.InnerException.Message)
    3. End Sub
    Und 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!
    Na ja klar, Du hast ja einen globalen Exception-Handler angeworfen, der alles wegfängt.
    Kommt eine MessageBox?
    Oder soll ich Dich so verstehen, dass Du nun alle Fehler in die Tonne kloppst?
    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!