Types und deren After, Before befehle WIE funzen Sie ?
Übersicht

SilbersurferBetreff: Types und deren After, Before befehle WIE funzen Sie ? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo Leute,
habe ein kleines problem mit Types ![]() und zwar mit dem Befehl After und Before, Ich möchte gerne Manuel meine Types abarbeiten nur bekomme ich dann immer die Fehlermeldung Memory access violation mein code sieht ungefähr so aus Code: [AUSKLAPPEN] Type sprite
Field x#,y#,z# Field r,g,b End Type For x=0 To 100 s.sprite = New sprite s\x=0:s\y=0:s\z=0 Next s=First sprite While Not KeyHit(1) If s.sprite = Null s=First sprite Else s.sprite=After s.sprite EndIf Wend warum gibt es immer diesen fehler ![]() genauso hier die Fehlermeldung Object does not exit ![]() Code: [AUSKLAPPEN] While Not KeyHit(1)
;If s.sprite=Null Then s=First Sprite While s.sprite <> Null s.sprite=After s.sprite Print Str(s\x) Wend Wend Was ist denn da bloß falsch ? oder sehe ich den Wald vor lauter Bäumen nicht mehr gruss Silbersurfer |
||
-------------------------------------------------------
XP 2000+ 512DDR Radeon 9800 XL 340GB HD Hompage : http://home.arcor.de/silbersurfer01/ Is Bob engine http://home.arcor.de/silbersur.../Isbob.zip |
![]() |
Firstdeathmaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: While Not KeyHit(1)
;If s.sprite=Null Then s=First Sprite While s.sprite <> Null s.sprite=After s.sprite Print Str(s\x) Wend Wend Das Problem ist, dass du zwar den aktuellen s.sprite auf existenz prüfst, aber nicht prüfst, ob es eventuell schon der letzte in der Liste ist, und somit der darauffolgende (after) garnicht existiert: Object does not exist |
||
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon Gewinner des BCC #57 User posted image |
![]() |
Bob |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi Silbersurfer,
eine bessere methode um deine sprites zu durchlaufen were for each While Not KeyHit(1) For s.sprite = Each sprite Print s\x Next Wend |
||
Silbersurfer |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
danke erstmal für die schnelle Anwort,
Hallo Firstdeathmaker das muß ich ja auch nicht da die schleife ja beendet wird, wenn kein Eintrag mehr vorhanden ist. Aber ich habe den fehler schon gefunden ![]() wie ich schon sagte: oder sehe ich den Wald vor lauter Bäumen nicht mehr Da Ich ja den Eintrag auslese und er ja schon auf den ersten Eintrag steht muß Ich es ja so machen. man man einfach zu lange vor denZeilen gehockt Code: [AUSKLAPPEN] While Not KeyHit(1)
;If s.sprite=Null Then s=First Sprite While s.sprite <> Null Print Str(s\x) s.sprite=After s.sprite Wend Wend hi Bob Ich möchte das Manuel machen nicht erst die ganze scheife abarbeiten aber trotzdem DANKE |
||
-------------------------------------------------------
XP 2000+ 512DDR Radeon 9800 XL 340GB HD Hompage : http://home.arcor.de/silbersurfer01/ Is Bob engine http://home.arcor.de/silbersur.../Isbob.zip |
Omenaton_2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Kleine Anmerkung.
Am Anfang als ich zum ersten Mal was über die Types gelesen habe, war auch mir nicht alles sofort ganz klar. Inzwischen mache ich sehr viel mit Types. Früher wollte ich auch mit After und Before hin und her gehen, etc. Das war ziemlich umständlich. Ich benutze in meinem sehr langen Code mit unzähligen Types niemals diese After, etc Befehle. Ich gebe jedem Type-Objekt einen ID-Nummer und dann laufe ich die Schleife mit For Next Each durch und wenn ich bei der gesuchten ID bin, dann verlasse ich die Schleife mit Exit und dann habe ich den "Zeiger " auf den Type-Objekt den ich gesucht habe. Das ist sehr einfach und zuverlässig. Es kann natürlich sein, daß du in deiner Anwendung doch After, etc brauchst. |
||
Silbersurfer |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hi Omenaton_2,
Ja diesen Gedanken habe ich auch schon, aber wie ist es wenn z.b 6000 einträge vorhanden sind und ich Daten im mitleren bereich des öfteren brauche da bin ich doch mit den After,Before befehlen wesentlich schneller als wenn ich ständige die kompletten einträge durchgehe oder ![]() gruss Silbersurfer |
||
-------------------------------------------------------
XP 2000+ 512DDR Radeon 9800 XL 340GB HD Hompage : http://home.arcor.de/silbersurfer01/ Is Bob engine http://home.arcor.de/silbersur.../Isbob.zip |
Omenaton_2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich denke es ist so wie du vermutest. Ich habe normalerweise nicht mehr 50-200 Type-Objekte. Das geht noch extrem schnell. | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group