Memory Acess Voilation

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

codebreaker

Betreff: Memory Acess Voilation

BeitragSa, Jul 18, 2009 15:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Fast Immer wenn ich versuche mein neues Programm zu starten, kommt der fehler "Memory Acess Voilation"
das war schon früher so, aber irgendwie ging es dann wieder.
Jetzt verwirrt es mich, da mein neues Programm zwar im Kopf schon fertig ist, nur schon am anfang im Computer
klappts nich:
Code: [AUSKLAPPEN]


Laden()
Start()

Function Laden()
Startlogo = LoadImage("Pac_anf.bmp")
End Function

Function Start()
Graphics 800,600,0,1
DrawImage Startlogo,0,0
End Function


Ich habe den verdacht, dass es am Zwischenspeicher liegt, da dass gleiche bei Videos auch Passiert.
Blitz 2D\3D

Windows 7 HP 32bit
ATI Mobility Radeon HD 4600 Series
Intel Pentium T4300 @ 2,1 Ghz dc
 

judos

BeitragSa, Jul 18, 2009 15:39
Antworten mit Zitat
Benutzer-Profile anzeigen
hast du StartLogo als Global definiert und beachtet, dass Graphics möglicherweise alle Grafiken aus dem Speicher löscht?
Du solltest wenn möglich Graphics vor dem Laden der Grafiken anbringen...

mfg judos

Jean

BeitragSa, Jul 18, 2009 15:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Global Startlogo

Laden()
Start()

Function Laden()
Startlogo = LoadImage("Pac_anf.bmp")
End Function

Function Start()
Graphics 800,600,0,1
DrawImage Startlogo,0,0
End Function

codebreaker

BeitragSa, Jul 18, 2009 15:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Stimmt Embarassed

Aber : in früheren Spielen habe ich auch nur Variablen als Global definiert.
Und : gibt es bei der Demo trotzdem irgendeine Begrenzung (codegröße,Ausgenutzter Zwischenspeicher ) ?
Blitz 2D\3D

Windows 7 HP 32bit
ATI Mobility Radeon HD 4600 Series
Intel Pentium T4300 @ 2,1 Ghz dc

ozzi789

BeitragSa, Jul 18, 2009 15:48
Antworten mit Zitat
Benutzer-Profile anzeigen
afaik: 16kb code, keine exen, und nur bmps
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

codebreaker

BeitragSa, Jul 18, 2009 16:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke, aber was bedeutet "Memory Acess Violation" nun?
Blitz 2D\3D

Windows 7 HP 32bit
ATI Mobility Radeon HD 4600 Series
Intel Pentium T4300 @ 2,1 Ghz dc

Nicdel

BeitragSa, Jul 18, 2009 16:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Es bedeutet, dass das Bild nicht vorhanden ist. Es muss so aussehen:

Code: [AUSKLAPPEN]

Global Startlogo

Graphics 800,600,0,1

Laden()
Start()

Function Laden()
Startlogo = LoadImage("Pac_anf.bmp")
End Function

Function Start()
DrawImage Startlogo,0,0
End Function
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7
  • Zuletzt bearbeitet von Nicdel am Sa, Jul 18, 2009 16:40, insgesamt 2-mal bearbeitet

The_Nici

BeitragSa, Jul 18, 2009 16:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Falsch Nicdel, es bedeutet dass eine unzulässige Information an den Speicher gesendet wurde.
Am besten du machst den Debugger an. (Program->Debug Enabled)
Bleibt der Fehler, hast du meistens ein Write/ReadPixelFast Problem, oder irgendwas ist im Low-Level-Bereich falsch.
MfG

EDIT: Achja, epic fail Nicdel, du zeichnest vor dem Laden. XD

Holzchopf

Meisterpacker

BeitragSa, Jul 18, 2009 16:38
Antworten mit Zitat
Benutzer-Profile anzeigen
"Memory Acces Violation" (kurz MAV) Heisst soviel wie Speicherzugriffsverletzung und tritt immer dann auf, wenn du irgendwas mit einem nicht existenten Objekt machen willst (ein nicht geladenes Bild zeichnen) oder wenn du ausserhalb des Speicherbereiches Modifikationen vornehmen willst (hinter dem Ende eins Arrays schreiben).
Die MAV ist die Standardfehlermeldung von Blitz. Um es etwas genauer zu haben, aktiviere den Debugmodus, dann zeigt dir der Debugger wo (in welcher Zeile) welcher Fehler auftritt (zB "Image doesn't exist").

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

Nicdel

BeitragSa, Jul 18, 2009 16:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, du hast recht. In diesem Fall heißt es aber, dass das Bild nicht existiert. Und das mit dem Zeichnen vor Laden.... Na ja dazu sag ich mal besser nichts. Der Code stimmt jetzt aber.
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7

codebreaker

BeitragSa, Jul 18, 2009 18:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke an alle, Jetzt Funzt es auch.
Wenn ich fertig bin, erstelle ich nen Worklog.
Soviel verrate ich schon:
Es wird eine Art 3d-Pacman!
der Worklog läuft dann wahrscheinlich unter dem Namen "Pac3D - The Revenge of Pacman"

Ach ja, die bilder usw. werden doch in den Arbeitsspeicher geladen, oder?
Blitz 2D\3D

Windows 7 HP 32bit
ATI Mobility Radeon HD 4600 Series
Intel Pentium T4300 @ 2,1 Ghz dc

ozzi789

BeitragSa, Jul 18, 2009 21:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Kommt draufan wie du sie lädst.
Jenachdem was du für ein Flag setzt beim laden (loadtexture) in den VRAM (also den Ram deiner Grafikkarte)
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group