Memory Acces Violation bei types.

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

DebbieDanger

Betreff: Memory Acces Violation bei types.

BeitragMi, Mai 04, 2005 19:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
mein programm soll ein type erstellen und in einem Feld ein paar daten festlegen und dan ausgeben:

BlitzBasic: [AUSKLAPPEN]

; Typ \"Monster\" erstellen:
Type Monster
Field x, y
End Type


; Variablenfeld \"Saurier\" des Typs \"Monster\" erstellen:
Dim Saurier.Monster(10)

; 100 Feldeinträge erzeugen:
For I=1 To 10
Saurier(I) = New Monster
Next

; Teil-Variablen X und Y mit Daten füllen:
For I=1 To 100

Saurier(I)\x = 100
Saurier(I)\y = 100
Next


Graphics 800,600
Repeat
Cls
For a = 1 To 10
Text 100,i+10,Saurier(a)\x
Next
Flip
Until KeyHit(1)


Aber es kommt memory acces Violation, warum?

simi

BeitragMi, Mai 04, 2005 19:31
Antworten mit Zitat
Benutzer-Profile anzeigen
hi

mache immer den debugger an, dann bekommst du nämlich Array index out of bounds..... Wink
Code: [AUSKLAPPEN]
For I=1 To 100
ist wohl ein bisschen zu gross
 

morszeck

BeitragDo, Mai 05, 2005 8:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich würde sowiso keine Arrays (dim) für Types verwenden. Ausser, wen mehrere Verschiedene Saurier-Typen das gleiche Type verwenden.

Ausserdem:

Dim Saurier.Monster(10)

So hast du nicht nur 10 Saurier, sondern 11. Den 0 wird immer mitgezählt.

Also 0..10

Aber Achtung !!! Das giltet nur für DIM unter Basic. Bank sind es effektiv 10 (0..9) und unter anderen Programmiersprachen ist es auch von 0 bis 9!!!

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group