Gjest Slettet-aNZFa3 Skrevet 4. mars 2008 Skrevet 4. mars 2008 (endret) Fikk plutselig denne erroren i Debug'n når jeg skulle prøve applikasjonen, jeg hadde ikke endret på noe før og etter jeg fikk denne erroren. Den bare kom. Additional information: An error occurred creating the form. See Exception.InnerException for details. The error is: Index was out of range. Must be non-negative and less than the size of the collection.Parameter name: index Her er kildekoden min: Klikk for å se/fjerne innholdet nedenfor Imports Microsoft.DirectX.DirectDrawImports Microsoft.DirectX Public Class frmPlanets Public DX As New Device Dim frmLocation As Point Private Sub MainForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load frmLocation = Me.Location lblGravity.Text = "Gravity: " & valGrav.Value & "," & nmrDecimal.Value & " (Jorda)" End Sub Private Sub chkFullScreen_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkFullScreen.CheckedChanged If chkFullScreen.Checked = True Then Try Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None DX.SetDisplayMode(Me.Width, Me.Height, 32, 60, True) DX.SetCooperativeLevel(Me, CooperativeLevelFlags.FullscreenExclusive) Catch ex As Exception MsgBox(ex.Message) End Try Else Try DX.SetCooperativeLevel(Me, CooperativeLevelFlags.Normal) Me.FormBorderStyle = Windows.Forms.FormBorderStyle.Sizable Me.Location = frmLocation Catch ex As Exception MsgBox(ex.Message) End Try End If End Sub Private Sub valGrav_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles valGrav.Scroll CalculateGrav() End Sub Private Sub nmrDecimal_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles nmrDecimal.ValueChanged CalculateGrav() If nmrDecimal.Value >= 10 Then valGrav.Value += 1 nmrDecimal.Value = 0 End If If nmrDecimal.Value < 0 Then valGrav.Value -= 1 nmrDecimal.Value = 9 End If End Sub Public Sub CalculateGrav() lblGravity.Text = "Gravity: " & valGrav.Value & "," & nmrDecimal.Value If grdInfo.Rows.Count = 2 Then grdInfo.Rows.Clear() End If If valGrav.Value = 3 Then If nmrDecimal.Value = 7 Then lblGravity.Text = "Gravity: " & valGrav.Value & "," & nmrDecimal.Value & " (Merkur / Mars)" grdInfo.Rows.Add() grdInfo.Item("Navn", 0).Value = "Merkur" grdInfo.Item("Masse", 0).Value = "0,33E24 Kg" grdInfo.Item("Gravitasjon", 0).Value = "3,7" grdInfo.Item("Navn", 1).Value = "Mars" grdInfo.Item("Masse", 1).Value = "0,64E24 Kg" grdInfo.Item("Gravitasjon", 1).Value = "3,7" End If End If If valGrav.Value = 8 Then If nmrDecimal.Value = 9 Then lblGravity.Text = "Gravity: " & valGrav.Value & "," & nmrDecimal.Value & " (Venus)" grdInfo.Item("Navn", 0).Value = "Venus" grdInfo.Item("Masse", 0).Value = "4,9E24 Kg" grdInfo.Item("Gravitasjon", 0).Value = "8,9" End If End If If valGrav.Value = 9 Then If nmrDecimal.Value = 8 Then lblGravity.Text = "Gravity: " & valGrav.Value & "," & nmrDecimal.Value & " (Jorda)" grdInfo.Item("Navn", 0).Value = "Tellus" grdInfo.Item("Masse", 0).Value = "6E24 Kg" grdInfo.Item("Gravitasjon", 0).Value = "9,8" End If End If If valGrav.Value = 23 Then If nmrDecimal.Value = 0 Then lblGravity.Text = "Gravity: " & valGrav.Value & "," & nmrDecimal.Value & " (Jupiter)" grdInfo.Item("Navn", 0).Value = "Jupiter" grdInfo.Item("Masse", 0).Value = "1900E24 Kg" grdInfo.Item("Gravitasjon", 0).Value = "23" End If End If If valGrav.Value = 10 Then If nmrDecimal.Value = 0 Then lblGravity.Text = "Gravity: " & valGrav.Value & "," & nmrDecimal.Value & " (Saturn)" grdInfo.Item("Navn", 0).Value = "Saturn" grdInfo.Item("Masse", 0).Value = "570E24 Kg" grdInfo.Item("Gravitasjon", 0).Value = "10" End If End If If valGrav.Value = 7 Then If nmrDecimal.Value = 8 Then lblGravity.Text = "Gravity: " & valGrav.Value & "," & nmrDecimal.Value & " (Uranus)" grdInfo.Item("Navn", 0).Value = "Uranus" grdInfo.Item("Masse", 0).Value = "87E24 Kg" grdInfo.Item("Gravitasjon", 0).Value = "7,8" End If End If If valGrav.Value = 11 Then If nmrDecimal.Value = 0 Then lblGravity.Text = "Gravity: " & valGrav.Value & "," & nmrDecimal.Value & " (Neptun)" grdInfo.Item("Navn", 0).Value = "MNeptun" grdInfo.Item("Masse", 0).Value = "103E24 Kg" grdInfo.Item("Gravitasjon", 0).Value = "11" End If End If If valGrav.Value = 0 Then If nmrDecimal.Value = 7 Then lblGravity.Text = "Gravity: " & valGrav.Value & "," & nmrDecimal.Value & " (Pluto)" grdInfo.Item("Navn", 0).Value = "Pluto" grdInfo.Item("Masse", 0).Value = "0,005E24 Kg" grdInfo.Item("Gravitasjon", 0).Value = "0,7" End If End If End Sub End Class Først og fremst så lager jeg denne applikasjonen for å jobbe med fysikk teoretisk. Jeg kommer til å legge inn alt man lærer i FY2, bare jeg kommer igjennom denne erroren først, vel og merke. EDIT: Jeg tror det kan være at RowIndex'n er på -1. Jeg har 1 column i grdInfo, så da skal det egentlig ikke være noe problem? Noen som har en løsning? Endret 4. mars 2008 av Slettet-aNZFa3
GeirGrusom Skrevet 4. mars 2008 Skrevet 4. mars 2008 Lær deg å debugge skikkelig. Sett breakpoints og step igjennom koden, så vil du se hva som er galt. Sannsynligvis så endres en verdi i en kontroll, som får den til å prøve å hente noe i en liste før det er lagt noen verdier i den. Men det er veldig vanskelig å se bare ved å kikke på denne koden. Sett breakpoints med F9 step over med F10 og step igjennom med F11. Hold over variabler eller velg uttryk for å se verdien i dem.
Manfred Skrevet 4. mars 2008 Skrevet 4. mars 2008 Forventer du at vi skal sitte og lese gjennom hele koden din?
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå