Delete funzt nicht

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

DAK

Betreff: Delete funzt nicht

BeitragSa, Sep 24, 2005 16:43
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]
For haufen.haufen = Each haufen
If haufen\menge > 0 Then
DrawImage haufenbild, haufen\x, haufen\y
EndIf
If haufen\menge < 5 Then
Delete haufen
EndIf
Next


Laut dem sollte, sobald haufen\menge < 5 dieses Typedings gelöscht werden. Allerdings, wenn haufen\menge < 5 stürtzt das Spiel ab, und dort steht "Illegal Memory Adress".

Was soll ich da machen?
Gewinner der 6. und der 68. BlitzCodeCompo

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSa, Sep 24, 2005 16:58
Antworten mit Zitat
Benutzer-Profile anzeigen
So wie der Code da steht kann ich keinen Fehler endecken!

Wo genau kommt den der Fehler?
[BB2D | BB3D | BB+]

Mr.Hyde

Newsposter

BeitragSa, Sep 24, 2005 17:02
Antworten mit Zitat
Benutzer-Profile anzeigen
da müsste BlitzBasic: [AUSKLAPPEN]
Delete haufen.haufen 

stehen

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSa, Sep 24, 2005 17:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Delete Haufen oder Delete Haufen.Haufen
ist in diesem Fall unerheblich, da haufen schon als Type erkannt wird!

TestBeispiel:
BlitzBasic: [AUSKLAPPEN]

Type Haufen Field menge,x,y End Type

For t = 0 To 500
haufen.haufen = New haufen
haufen\menge = Rand (200)
haufen\x = Rand (600)
haufen\y = Rand (400)
Next


While Not KeyDown(1);#####

For haufen.haufen = Each haufen
haufen\menge = haufen\menge -Rand (2)
Next

Color 255,0,255
For haufen.haufen = Each haufen
HaufenAnz= HaufenAnz+1
If haufen\menge > 0 Then
;DrawImage haufenbild, haufen\x, haufen\y
Rect haufen\x, haufen\y,haufen\menge,haufen\menge
EndIf
If haufen\menge < 5 Then
Delete haufen
EndIf
Next
Color 255,255,0
Text 10,10, HaufenAnz
HaufenAnz=0

Flip
Cls
Wend
End ;######
[BB2D | BB3D | BB+]

DAK

BeitragSa, Sep 24, 2005 17:51
Antworten mit Zitat
Benutzer-Profile anzeigen
soll ich den ganzen code posten?
Gewinner der 6. und der 68. BlitzCodeCompo

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSa, Sep 24, 2005 18:10
Antworten mit Zitat
Benutzer-Profile anzeigen
zeig mal in welcher Zeile der Debbuger das Problem sieht!
[BB2D | BB3D | BB+]

DAK

BeitragSa, Sep 24, 2005 19:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
For haufen.haufen = Each haufen
 If haufen\menge > 0 Then
  DrawImage haufenbild, haufen\x, haufen\y
 EndIf
 If haufen\menge < 5 Then
  [color=red]Delete haufen [/color]
 EndIf
Next


in der roten

Edit: ups geht nicht.
Gewinner der 6. und der 68. BlitzCodeCompo

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSo, Sep 25, 2005 0:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Besser du schickst den ganzen Code, denn das kann normalerweise nicht sein!
[BB2D | BB3D | BB+]

DAK

Betreff: Re: Delete funzt nicht

BeitragMo, Sep 26, 2005 16:42
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]
For haufen.haufen = Each haufen
If haufen\menge > 0 Then
DrawImage haufenbild, haufen\x, haufen\y
EndIf
If haufen\menge < 5 Then
Delete haufen
EndIf
Next


Es war doch ein Fehler drin:

das prog rennt:

For haufen.haufen = Each haufen
If haufen\menge > 0 Then
DrawImage haufenbild, haufen\x, haufen\y
EndIf

kommt zum delete:
If haufen\menge < 5 Then
Delete haufen
EndIf

und bei mir stand a noch etwas, das sich auf den type bezog, der da jedoch schon gelöscht war.
Gewinner der 6. und der 68. BlitzCodeCompo

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group