Problem: Memorie Acces Violation

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

GearTechDE

ehemals 'KillerJo96'

Betreff: Problem: Memorie Acces Violation

BeitragFr, Mai 13, 2011 17:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo, ich habe jetzt mal meine 3D-Engine (Dragon Legends) veröffentlicht.
Dann kamen auch die ersten Kommentare. "Bei mir kommt der Fehler Memorie Access Violation".

Ich habe schon danach gesucht, aber keins der gleichen habe Fehler habe ich gefunden!

Hier mal mein Code:
BlitzBasic: [AUSKLAPPEN]

;ReadConfig.ini
Config = ReadFile("Config.ini")
Breite# = ReadLine$(Config)
Hohe# = ReadLine$(Config)
Fullscreen# = ReadLine(Config)
;End Read

;Set Graphics Mode
Graphics3D Breite#,Hohe#,16,Fullscreen#

SetBuffer BackBuffer()
HidePointer()
;End Set

;Windows Settings
AppTitle("Dragon Legends Alpha by Killerjo96")
Print "Du kannst die Auflösung in der Config.ini festlegen!"
Delay 2000
;End Settings

;LoadScenes
sound = LoadSound (".\Music\Lied.mp3")
table = LoadMesh (".\Model\table.3ds")
ground = LoadTerrain(".\Textures\hight.jpg")
tex = LoadTexture(".\Textures\grass.jpg")
;End Load

;Global Variables
Global sky ;muss ich machen weil ich die skybox in einem Unterprogramm lade und im Hautprogramm verwende
;End Variables

;Variables

;End Variables

;Animate Objects

;End Animate

;Types
type_camera = 1 ;für die kollisionen, einfach nur eine variable, damit ich nicht durcheinander komme.
type_terrain = 2
type_table = 3
;End Types

;CreateScenes
cam = CreateCamera()
light = CreateLight()
;End Create

;Set Types
EntityType cam,type_camera ;Für Kollisionen Kamera auf typ "camera" stellen
EntityType ground,type_terrain ;für kollisionen auf typ "terrain" stellen.
EntityType table,type_table
;End Set

;Collisions
Collisions type_camera,type_terrain,2,2 ;Kollisionen zwischen camera und terrain setzten
Collisions type_camera,type_table,2,3
;End Collisions

;Set Radius
EntityRadius cam,05 ;Radius der Kamera für Kollisionen, damit ich nicht durch die Wand durchschauen kann.
;End Set

;Activate Functions

;End Activate

;RotateEntity

;End Rotate

;PositionEntitys

PositionEntity cam,77,8,55
PositionEntity table,80,1,55
PositionEntity ground,0,-1,0
;End Position

;Scale Entitys
ScaleEntity table,0.05,0.05,0.05
ScaleEntity ground,5,50,5
;End Scale

;Scale Texture
ScaleTexture tex,5,5
;End Scale

;Entity Textures
EntityTexture ground,tex
;End Entity

;Load Functions
LoadSkyBox()
;End Load

;
;Beginn der Hauptschleife
;
Repeat

;Berechne FPS
If MilliSecs()-settime>1000
getfps=setfps : setfps=0 : settime=MilliSecs()
Else
setfps=setfps+1
EndIf
;End FPS

;MouseControl
mxs# = mxs# + MouseXSpeed()
mys# = mys# + MouseYSpeed()
If mxs# > 360 Then mxs# = 0
If mxs# < 0 Then mxs# = 360
If mys# > 80 Then mys# = 80
If mys# < -80 Then mys# = -80
RotateEntity Cam,mys#,-mxs#,0
;End MouseControl

;Tastenabfragen
If KeyDown(30) Then MoveEntity cam,-0.3,0,0
If KeyDown(32) Then MoveEntity cam,0.3,0,0
If KeyDown(31) Then MoveEntity cam,0,0,-0.5
If KeyDown(17) Then MoveEntity cam,0,0,0.5
If KeyDown(57) Then MoveEntity cam,0,0.8,0
If KeyHit(201) Then Ch1 = PlaySound(sound)
If KeyHit(209) Then StopChannel Ch1
If KeyDown(41) Then
WireFrame = True
Else
WireFrame = False
EndIf
;End Tastenabfragen

;MoveMouse
MoveMouse GraphicsWidth() / 2,GraphicsHeight() / 2
;End MoveMouse

;Position Entity (Hauptschleife)
PositionEntity cam,EntityX(cam),EntityY(cam)-0.5,EntityZ(cam) ;schwerkraft
PositionEntity sky,EntityX(cam),EntityY(cam),EntityZ(cam) ;himmel mit der Kamera mitbewegen
;End Position

;Text Functioncs
Font = LoadFont ("Papyrus",40,1)
SetFont Font
Text 0,0,"Dragon Legends Alpha - Version: 1.0.0.0.0"
Text 0,40,"FPS: " + getfps
;End Text

;End Files
Flip() ;flip immer VOR RenderWorld
UpdateWorld() ;Kollisionen updaten
RenderWorld()
Until KeyHit(1)
End
;End Files

;Functions

Function LoadSkyBox() ;Funktion ist nicht von mir.
sky=CreateMesh()
;front face
b=LoadBrush("s4\4.bmp",49 )
s=CreateSurface( sky,b )
AddVertex s,-1,+1,-1,0,0:AddVertex s,+1,+1,-1,1,0
AddVertex s,+1,-1,-1,1,1:AddVertex s,-1,-1,-1,0,1
AddTriangle s,0,1,2:AddTriangle s,0,2,3:
FreeBrush b
;right face
b=LoadBrush("s4\5.bmp",49 )
s=CreateSurface( sky,b )
AddVertex s,+1,+1,-1,0,0:AddVertex s,+1,+1,+1,1,0
AddVertex s,+1,-1,+1,1,1:AddVertex s,+1,-1,-1,0,1
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
;back face
b=LoadBrush("s4\1.bmp",49 )
s=CreateSurface( sky,b )
AddVertex s,+1,+1,+1,0,0:AddVertex s,-1,+1,+1,1,0
AddVertex s,-1,-1,+1,1,1:AddVertex s,+1,-1,+1,0,1
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
;left face
b=LoadBrush("s4\2.bmp",49 )
s=CreateSurface( sky,b )
AddVertex s,-1,+1,+1,0,0:AddVertex s,-1,+1,-1,1,0
AddVertex s,-1,-1,-1,1,1:AddVertex s,-1,-1,+1,0,1
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
;top face
b=LoadBrush("s4\3.bmp",49 )
s=CreateSurface( sky,b )
AddVertex s,-1,+1,+1,0,1:AddVertex s,+1,+1,+1,0,0
AddVertex s,+1,+1,-1,1,0:AddVertex s,-1,+1,-1,1,1
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
;bottom face
b=LoadBrush("s4\6.bmp",49 )
s=CreateSurface( sky,b )
AddVertex s,-1,-1,-1,1,0:AddVertex s,+1,-1,-1,1,1
AddVertex s,+1,-1,+1,0,1:AddVertex s,-1,-1,+1,0,0
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
ScaleMesh sky,500,500,500
FlipMesh sky
EntityFX sky,1
Return sky
End Function


;End Functions


;---------------------------------------------------------------------------------------


Bitte helft mir, bin schon fast am verzweifeln!!!

lg Killerjo96
Mit freundlichen Grüßen: GearTechDE

Pummelie

BeitragFr, Mai 13, 2011 18:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein MAV kommt immer dann, wenn auf eine Recource nicht zugegriffen werden konnte.

Prüfe nach jedem Lade oder Öffnungsvorgang ob die Variable gleich 0 ist, damit kannst du herausbekommen wo der Fehler auftritt.
It's done when it's done.

Eingeproggt

BeitragFr, Mai 13, 2011 18:08
Antworten mit Zitat
Benutzer-Profile anzeigen
... und nimm LoadFont aus der Schleife raus, weil du sonst den Speicher rasend schnell zumüllst bis das Spiel langsamer wird oder event. auch nur deshalb abschmiert.

mfG, Christoph.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Xeres

Moderator

BeitragFr, Mai 13, 2011 18:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Flip und kein Timer sind nicht unbedingt zu empfehlen, besser Flip(0) & Waittimer Arrow Hurra, 100 % Auslastung
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

GearTechDE

ehemals 'KillerJo96'

BeitragFr, Mai 13, 2011 21:24
Antworten mit Zitat
Benutzer-Profile anzeigen
@Eingeproggt: Danke hatte es schon selber rausgefunden mit dem SetFont xD Was ich nur komisch fand das der Fehler bei mir nie aufgetreten ist, nur bei anderen. Aber trotzdem danke.

Noch ne Frage: Das ist ja echt ne blöde kleine Schissfrage gewesen. Ich komme mir i-wie was behindert vor, für jede kleine Schei*** nen neuen Thread zu öffnen. Ist das richtig wie ich denke oder kann ich das so weiter machen??

Sorry wenn ich das falsch verstehe, trauhe mich nicht so alles zu posten und habe Angst deswegen zu fliegen xD.

Lg Killerjo96
Mit freundlichen Grüßen: GearTechDE

Eingeproggt

BeitragFr, Mai 13, 2011 22:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab nochmal drübergeschaut und gesehen, dass du Wireframe falsch verwendest, das ist eine Funktion, keine Variable, sprich Klammern statt = verwenden.
Mehr kann ich jetzt glaub ich auch nimma sagen als wir 3 schon zuvor. Wichtig bzgl des "MAV" (Memory Access Violation) ist eben mal zu schauen ob die Ressourcen geladen werden, insbesondere ob deine Freunde überhaupt die Sounds, Texturen und Modelle haben? Ebenso mit Schriftart und config.

Was das Posten betrifft so würd ich mal sagen, dass du sogar ALLES posten MUSST, denn umso besser können wir helfen Wink Wenn du nicht selber mit dem Problem klar kommst dann frag doch deine Freunde wo genau der MAV kommt. Beim Laden? Beim Drücken einer bestimmten Taste? Nach einer gewissen Zeit?

mfG, Christoph.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

GearTechDE

ehemals 'KillerJo96'

BeitragFr, Mai 13, 2011 22:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja danke, habe jetzt ja mein Problem, es trat immer so nach 10-20 sekunden auf und dann hab ich mir den Code nochmal genau angeglotzt. Das mit dem Fonts da hab ich dann mal vor die Schleife gepackt und das patchen lassen. Dies bezüglich habe ich den Melder des Bugs nochmal gefragt, er sagte das Problem sei damit behoben.

Danke nochmal an alle.

lg Killerjo96
Mit freundlichen Grüßen: GearTechDE

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group