memory access violation

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

blitz

Betreff: memory access violation

BeitragMi, Mai 25, 2005 23:17
Antworten mit Zitat
Benutzer-Profile anzeigen
hab die suche schon benützt, aber nicht das passende gefunden.
was bedeutet memory access violation genau (?=?Speicherzugriffsgewalt)
Confused

D2006

Administrator

BeitragMi, Mai 25, 2005 23:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

nunja. Wörtlich übersetzt hast du es ja bereits.
Sinngemäß würde wohl folgendes passen: "Schalt' jetzt den Debugger an und reproduzier den Fehler!"

MAV ist meisten wenn irgendwas vom Speicher gebraucht wird, was gar nicht da ist. Zum Beispiel wenn ein Bild nicht geladen wurde o.ä.

MfG
D2006

Kabelbinder

Sieger des WM-Contest 2006

BeitragDo, Mai 26, 2005 11:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi

"Memory Access Violation", nicht Memory Access Voilence Smile
Violation heiß soviel, wie Übertretung oder Verletzung.

Das ist auch eins meine Hauptprobleme im Moment bei meinem Spiel. Aber ich hab schonmal was rausgefunden:

manche Computer und Basicversionen bekommen wohl Memory Access Violation, wenn man ein Dim-feld-eintrag mit nem Float anspricht
z.B.
Code: [AUSKLAPPEN]
Dim feld(17)
feld(4.56304) = 34
<Wing Avenger Download> ◊◊◊ <Macrophage Download>

Ctuchik

BeitragDo, Mai 26, 2005 12:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du den Debugger anschaltest, dann zeigt er dir die Stelle an an der der Fehler aufgetreten ist!
Üblicherweise liegt es daran, dass du ein Bild zeichnen willst, dass nicht existiert! Vielleicht liegt die Bilddatei in einem anderen Ordner oder hat einen anderen Namen?

Sollte der Fehler bei dem Befehl ImagesCollide auftreten und du bist dir 100% sicher, dass beide Bilder existieren und geladen wurden, dann kannst du wohl nichts dagegen machen. Das ist ein Fehler der neuerdings auf manchen Rechnern auftritt. Warum weiss ich auch nicht, bei mir ghts dann manchmal mit einer anderen Farbtiefe und Vollbild, statt Fenstermodus!
Zu den Nebenwirkungen gehören trockener Mund, Übelkeit, Erbrechen, Harnstau, schmerzhafter rektaler Juckreiz, Halluzinationen, Demenz, Psychose, Koma, Tod und Mundgeruch!
Magie eignet sich nicht für alle!
Fraget euren Arzt oder Apotheker!
 

blitz

Betreff: -

BeitragDo, Mai 26, 2005 15:44
Antworten mit Zitat
Benutzer-Profile anzeigen
aslo ich hab ein quiz gebastelt und das ist so aufgebaut:
nummerlese wie viele fragen im ordner
suche eine aus
schalte diese frage auf gehabt (dim für jede frage (nummer))
schleife (repeat)
alles zeichnen
antworten und fragen auslesen
schaltüberprüfung
ende d. schleife

seit neuestem hat er auch noch die gewohnheit zu schreiben "Stream doesn't exist" und nicht mehr MAV. soll ich meinen code posten?

edit: keine fehlermeldung bekomme ich, wenns im fenstermodus läuft
ich teste aber weiter
edit: oh doch, stream doesn't exist, aber MAV nicht mehr?!
edit: hab auslese vor die schleife gesetzt, jetzt nach der 4-7 frage stream. . .
edit.: arbeitet blitzbasic nach dem zufallfehlerprinzip? Very Happy
einmal gehts ohnen einen einzigen fehler, dann gelich am anfag . . .
 

Gerhard

BeitragDo, Mai 26, 2005 16:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie auch immer, dein Zugriff auf den Fragen-Ordner ist wohl überprüfungsbedürftig.
 

blitz

Betreff: -

BeitragDo, Mai 26, 2005 17:01
Antworten mit Zitat
Benutzer-Profile anzeigen
sieht so aus:
BlitzBasic: [AUSKLAPPEN]
dir$=ReadDir(\"Questions\\") 
Repeat
file$=NextFile(dir$)
nummer=nummer+1
Until file=\"\"
nummer=nummer-3;wie viele fragen vorhanden
nummer2=nummer+1 ;sicherheitshalber
Dim fragegebraucht(nummer2)
fragenmaximum=16;HIER DAS FRAGENMAXIMUM EINSTELLEN!!!! MUSS ABER NIEDRIGER ALS ANZAHL DER FRAGEN SEIN (NUMMER)!!!!! (+1!!!)
.st
welchefrage=Rand(1,nummer);aus vorhandenen fragen 1 ausgewählt
;Print welchefrage


If fragegebraucht(welchefrage)=1 Then Goto st;wenn fragte gebraucht, dann zurück
fragegebraucht(welchefrage)=1;frage wird als gebraucht gestellt
;
anzahlderfragen=anzahlderfragen+1


edit: ach ja, die ordner, dateien sind vorhanden, sonst ättes ja auch bei der 1.) nicht funktionieren dürfen.
 

Gerhard

BeitragDo, Mai 26, 2005 17:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Da würde ich sagen, abgesehen von:

dir= anstelle von dir$=
nextfile$(dir) anstelle von nextfile(dir$)

müsste der Code funktionieren.
Aber: wie liest du die Fragedatei? Zumal die Schleife ja erst nach der Auswahl der Frage beginnt.
 

blitz

Betreff: -

BeitragDo, Mai 26, 2005 18:31
Antworten mit Zitat
Benutzer-Profile anzeigen
auslesen:
BlitzBasic: [AUSKLAPPEN]
 datei=ReadFile(\"Questions\\" +welchefrage)
frage1$=ReadString(datei)
frage2$=ReadString(datei)
antwa$=ReadString(datei)
antwb$=ReadString(datei)
antwc$=ReadString(datei)
antwd$=ReadString(datei)
r=ReadByte(datei)
;


memory access violation kommt viel seltener, wie schalt ich's aber ganz aus?

edit: hab jetzt closefile(datei unter r=Readbyte(datei) gesetzt. jetzt kommt nach ein paar fragen stream doesn't exist?! aber es wiederholt sich doch, wieso funzts dann die ersten paar mal?
 

Gerhard

BeitragDo, Mai 26, 2005 19:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Wahrscheinlich liest du aus einer Textdatei. => Readline probieren.

Ctuchik

BeitragFr, Mai 27, 2005 11:32
Antworten mit Zitat
Benutzer-Profile anzeigen
ReadString liest 4 Byte, die die Länge des Strings angeben und dann entsprechend viele Zeichen und gibt diese als String zurück!
Wenn du aber die Fragen nicht per WriteString in die Dateien hineingeschrieben hast dann kommt es zu Problemen, weil Längenangaben für die Strings fehlen und er somit falsche Werte liest und eine Fehlermeldung bringt, wenn die Datei nicht mehr genug Zeichen für einen String der Länge die er erwartet hat!

Wenn du also die Fragen und Antworten Zeilenweise in die Datei geschrieben hast, mitm Notepad oder so, dann lies sie mit ReadLine aus! Ansonsten musst du sie mit WriteString reingeschrieben haben!

MfG Ctuchik
Zu den Nebenwirkungen gehören trockener Mund, Übelkeit, Erbrechen, Harnstau, schmerzhafter rektaler Juckreiz, Halluzinationen, Demenz, Psychose, Koma, Tod und Mundgeruch!
Magie eignet sich nicht für alle!
Fraget euren Arzt oder Apotheker!

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group