Bank-problem

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Chrise

Betreff: Bank-problem

BeitragMo, Apr 13, 2009 19:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo!

Ich hab jetzt ein Problem das quält meine Gedanken jetzt schon seit 3 Uhr und ich krieg das Problem einfach nicht in den Griff.

Ich habe deshalb eine Frage.
Kann es bei zu schnellen Zugriffen auf unterschiedliche Speicherbänke plötzlich zu einem "Memory Access Violation" - Fehler kommen? Ich bin mir zu 100% sicher, dass ich die richtigen Abfrage-werte bzw. Positionswerte übergebe, aber nach im Debugger angezeigten 5 mal 3 Schleifendurchgängen kommt es zu solch einem Fehler. Thx für jeden Rat oder jede Antwort Smile
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet.
 

da_poller

BeitragMo, Apr 13, 2009 19:44
Antworten mit Zitat
Benutzer-Profile anzeigen
in welchem code liegt der fehler bzw denkfehler? kann mir unter deiner frage grad nciht viel vorstellen.. in welchem code kommt der mav?

Chrise

BeitragMo, Apr 13, 2009 19:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
LEN1=Len(Z1$)
   LEN2=Len(Z2$)
   LENG=LEN1+LEN2
   BK1=CreateBank(LENG+1)
   BK2=CreateBank(LENG+1)
   BK3=CreateBank(LENG+1)
   LC1=LENG-LEN1
   LC2=LENG-LEN2
   For LC=1 To LEN1:PokeByte(BK1,LC+LC1,Mid(Z1$,LC,1)):Next
   For LC=1 To LEN2:PokeByte(BK2,LC+LC2,Mid(Z2$,LC,1)):Next
   For LC=1 To LENG
      PEEK=(LENG+1)-LC
      OFFSET=LC-1
      TC=PeekByte(BK1,PEEK)
      For C=1 To TC
         For LC3=1 To LENG
         PEEK2=(LENG+1)-LC3
         PEEK3=PEEK2-OFFSET
         TN1=PeekByte(BK2,PEEK2)
         TN2=PeekByte(BK3,PEEK3)
         TN3=TN1+TN2+TN4
         If TN3<10 Then TN4=0
         If TN3=>10 Then TN3=TN3-10:TN4=1
         PokeByte(BK3,PEEK3,TN3)
         Next
      Next
   Next


ich weiß nicht, ob das viel helfen wird...
jedenfalls kommt der Fehler bei
Code: [AUSKLAPPEN]
TN2=PeekByte(BK3,PEEK3)

und das, obwohl die innerste Schleife schon 3 Durchläufe gemacht hat und die darüber 5.
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet.

Holzchopf

Meisterpacker

BeitragMo, Apr 13, 2009 20:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei mir kommt da kein Fehler. Was hast du denn so für Z1$ und Z2$ ?

btw: Ich hab schon viel mit Banks gemacht, mir wär aber noch nie was von "zu viele Zugriffe" = MAV aufgefallen Confused
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Chrise

BeitragMo, Apr 13, 2009 20:03
Antworten mit Zitat
Benutzer-Profile anzeigen
für Z1,Z2 lange Zahlenreihen, die man später z.b. aus Textdateien laden kann. Mit beiden 17-stellig gehts noch. Mehr nicht mehr...
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet.

Holzchopf

Meisterpacker

BeitragMo, Apr 13, 2009 20:34
Antworten mit Zitat
Benutzer-Profile anzeigen
PEEK3 geht irgendwann ins Negative (lass dir mal mit DebugLog PEEK3 ausgeben). Damit schreibst du irgendwann in BK3 irgendwelche relevanten Daten im Header um (Adresse, Grösse, sonstwas) und beim nächsten PeekByte gibts dann natürlich Konflikte.

mfG
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Chrise

BeitragMo, Apr 13, 2009 20:42
Antworten mit Zitat
Benutzer-Profile anzeigen
tatsächlich es geht ins negative.... aber kannst du mir bitte erklären warum genau?
Ich seh mir das immer wieder durch, aber ich sehe da nirgendwo den Grund, warum das ins negative gehen sollte, auch wenn es das tatsächlich tut o.O
Ich glaub ich bin (Betriebs-)blind. Confused
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet.

Holzchopf

Meisterpacker

BeitragMo, Apr 13, 2009 21:01
Antworten mit Zitat
Benutzer-Profile anzeigen
PEEK2 kann 1 sein
OFFSET kann >1 sein

Arrow PEEK2 -OFFSET kann < 0 werden
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Chrise

BeitragMo, Apr 13, 2009 21:03
Antworten mit Zitat
Benutzer-Profile anzeigen
herje Rolling Eyes
Wie gesagt ich muss blind gewesen sein.
Danke! Hat vorerst geholfen ^^
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group