Array Index Out of bounds? Oo?[Gelöst]

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Xaymar

ehemals "Cgamer"

Betreff: Array Index Out of bounds? Oo?[Gelöst]

BeitragDo, Mai 21, 2009 21:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Dim SubdivPos(3, 5)
Function Subdivide(Tri.Triangles)
   For A = 0 To 2
      DebugLog A
      DebugLog SubdivPos(A, 0)  ;A=0 = Array Index out of bounds? wtf?
      SubdivPos(A, 0) = Tri\ScrPosX[A]
      SubdivPos(A, 1) = Tri\ScrPosY[A]
      SubdivPos(A, 2) = Tri\Red[A]
      SubdivPos(A, 3) = Tri\Green[A]
      SubdivPos(A, 4) = Tri\Blue[A]
      SubdivPos(A, 5) = Tri\Alpha[A]*100
      SubdivPos(3, 0) = SubdivPos(3, 0) + SubdivPos(A, 0)
      SubdivPos(3, 1) = SubdivPos(3, 1) + SubdivPos(A, 1)
      SubdivPos(3, 2) = SubdivPos(3, 2) + SubdivPos(A, 2)
      SubdivPos(3, 3) = SubdivPos(3, 3) + SubdivPos(A, 3)
      SubdivPos(3, 4) = SubdivPos(3, 4) + SubdivPos(A, 4)
      SubdivPos(3, 5) = SubdivPos(3, 5) + SubdivPos(A, 5)
   Next
   Delete Tri.Triangles
   
   SubdivPos(3, 0) = SubdivPos(3, 0) / 3
   SubdivPos(3, 1) = SubdivPos(3, 1) / 3
   SubdivPos(3, 2) = SubdivPos(3, 2) / 3
   SubdivPos(3, 3) = SubdivPos(3, 3) / 3
   SubdivPos(3, 4) = SubdivPos(3, 4) / 3
   SubdivPos(3, 5) = SubdivPos(3, 5) / 3
   
   NTri.Triangles = New Triangles
   NTri\ScrPosX[0] = SubdivPos(0, 0)
   NTri\ScrPosY[0] = SubdivPos(0, 1)
   NTri\ScrPosX[1] = SubdivPos(3, 0)
   NTri\ScrPosY[1] = SubdivPos(3, 1)
   NTri\ScrPosX[2] = SubdivPos(1, 0)
   NTri\ScrPosY[2] = SubdivPos(1, 1)
   NTri\Red[0] = SubdivPos(0, 2):NTri\Green[0] = SubdivPos(0, 3):NTri\Blue[0] = SubdivPos(0, 4):NTri\Alpha[0] = SubdivPos(0, 5)/100
   NTri\Red[1] = SubdivPos(3, 2):NTri\Green[1] = SubdivPos(3, 3):NTri\Blue[1] = SubdivPos(3, 4):NTri\Alpha[1] = SubdivPos(3, 5)/100
   NTri\Red[2] = SubdivPos(1, 2):NTri\Green[2] = SubdivPos(1, 3):NTri\Blue[2] = SubdivPos(1, 4):NTri\Alpha[2] = SubdivPos(1, 5)/100
   NTri.Triangles = New Triangles
   NTri\ScrPosX[0] = SubdivPos(1, 0)
   NTri\ScrPosY[0] = SubdivPos(1, 1)
   NTri\ScrPosX[1] = SubdivPos(3, 0)
   NTri\ScrPosY[1] = SubdivPos(3, 1)
   NTri\ScrPosX[2] = SubdivPos(2, 0)
   NTri\ScrPosY[2] = SubdivPos(2, 1)
   NTri\Red[0] = SubdivPos(1, 2):NTri\Green[0] = SubdivPos(1, 3):NTri\Blue[0] = SubdivPos(1, 4):NTri\Alpha[0] = SubdivPos(1, 5)/100
   NTri\Red[1] = SubdivPos(3, 2):NTri\Green[1] = SubdivPos(3, 3):NTri\Blue[1] = SubdivPos(3, 4):NTri\Alpha[1] = SubdivPos(3, 5)/100
   NTri\Red[2] = SubdivPos(2, 2):NTri\Green[2] = SubdivPos(2, 3):NTri\Blue[2] = SubdivPos(2, 4):NTri\Alpha[2] = SubdivPos(2, 5)/100
   NTri.Triangles = New Triangles
   NTri\ScrPosX[0] = SubdivPos(2, 0)
   NTri\ScrPosY[0] = SubdivPos(2, 1)
   NTri\ScrPosX[1] = SubdivPos(3, 0)
   NTri\ScrPosY[1] = SubdivPos(3, 1)
   NTri\ScrPosX[2] = SubdivPos(0, 0)
   NTri\ScrPosY[2] = SubdivPos(0, 1)
   NTri\Red[0] = SubdivPos(1, 2):NTri\Green[0] = SubdivPos(1, 3):NTri\Blue[0] = SubdivPos(1, 4):NTri\Alpha[0] = SubdivPos(1, 5)/100
   NTri\Red[1] = SubdivPos(3, 2):NTri\Green[1] = SubdivPos(3, 3):NTri\Blue[1] = SubdivPos(3, 4):NTri\Alpha[1] = SubdivPos(3, 5)/100
   NTri\Red[2] = SubdivPos(2, 2):NTri\Green[2] = SubdivPos(2, 3):NTri\Blue[2] = SubdivPos(2, 4):NTri\Alpha[2] = SubdivPos(2, 5)/100
   
   RecreateScene()
End Function


Woran kanns liegen?
die dim wird nirgendwo anders initialiesiert

Edit:
Die RE's in BB werden immer seltsamer... Der fehler liegt 1832 zeilen weiter oben... der debugger markiert aber eine zeile in der funktion... gelöst
Lorem Ipsum dollar irgendwas oder so.
Projekte: BlitzLLVM

AMD Ryzen 7 9800X3D, NVIDIA GeForce RTX 4080 Super, 64GB DDR5, Arch Linux
AMD Epyc 7313P, 2x NVIDIA Quadro P100S, 256GB DDR4-ECC, Debian

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group