FlipBuffers() verursacht Invalid Memory Access

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
#NULL
Beiträge: 2237
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

habs mal in 3.94 probiert, da funktioniert alles. der bug tritt nur in 4 auf. (und auch nur im fullscreen, nicht im windowed-screen.)
my pb stuff..
Bild..jedenfalls war das mal so.
amatt
Beiträge: 7
Registriert: 15.10.2006 01:45

noch ein Bug ???

Beitrag von amatt »

Hi,

wollte mich nun auch mal an den 3D-Funktionen von PB probieren scheitere aber schon an den Basics. :mrgreen:
Mit dem Invalid Memory Access Fehler habe ich momentan viel zu tun und denke das es hier gut reinpasst.
Hoffe ihr könnt mir helfen. Folgendes Problem:
Ein WindowedScreen lässt sich zwar öffnen aber kann anscheinend nicht wieder geschlossen/freigegeben werden (um
erneut geöffnet zu werden).

Code: Alles auswählen


InitEngine3D()
InitSprite() 

OpenWindow(1,100,100,200,100,"WindowedScreen1")
result =OpenWindowedScreen(WindowID(1),0,0,200,100,0,0,0)
Debug result  ;  <-- dieser ist ok

CloseScreen()

OpenWindow(2,350,100,200,100,"WindowedScreen2")
result = OpenWindowedScreen(WindowID(2),0,0,200,100,0,0,0)
Debug result ;  <-- warum zum Geier lässt sich dieser nicht öffnen ?

Repeat
Until WaitWindowEvent(1) = #PB_Event_CloseWindow

End

Ist das ein Bug in der Engine3D oder hab ich da irgendwas in der Dokumentation übersehen ?
Benutzeravatar
#NULL
Beiträge: 2237
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

ich glaube das ist ein anderes problem (aber ja, scheint ein bukk zu sein) - hat mit dem 3d-stuff zu tun.
dazu gibt's auch schon 'nen thread:
http://www.purebasic.fr/german/viewtopi ... creen+fehl
my pb stuff..
Bild..jedenfalls war das mal so.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

dieser "Bug" hat nichts mit 3D zu tun, da in diesem beispiel gar keine 3D befehle vorkommen.

korrektur:
wenn ich die Engine3D auskommentiere, funktioniert es fehlerfrei.
ich vermutete hier erst ein timing-problem.

also ok, wohl doch ein problem mit Engine3D.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
#NULL
Beiträge: 2237
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

wieder zum thema..
das einzige was ich im englischen bug-forum dazu gefunden hab war das und da gehts um 3d-stuff.
ich hab dort kein account. vielleicht kann das einfach mal jemand dort post'n

title (z.b.):
#PB_Any and Alt-Tab-switch causes 'Invalid Memory Access' at FlipBuffers()

Code: Alles auswählen

; After a switch with <Alt-Tab> from Fullscreen To
; OS-Desktop, at the Return To Fullscreen you get 
; an 'Invalid Memory Access' at FlipBuffers(), If 
; you used LoadSprite() Or CreateSprite() with
; #PB_Any, no matter wether you display the Sprite
; or you don't. Without #PB_Any, to say with
; Constants, everthing works fine.
; 
; Further, LoadImage() works with #PB_Any as well
; as with Constants.
; 
; Also in PB 3.94 there is no such Problem, only in
; PB 4.00, and also only with Fullscreen, not with
; windowed screen.
; 
; 
; Windows XP - SP 2
; german forum: http://www.purebasic.fr/german/viewtopic.php?t=9043


Global picBG.l
InitSprite()
OpenScreen(1024,768,32,"fllscrn")

file$="data\ding.bmp"

Select 3
  Case 1 :picBG=LoadSprite(  #PB_Any,file$)   ;  <-- does not work
  Case 2 :picBG=CreateSprite(#PB_Any, 80,50)  ;  <-- does not work


  Case 3 :LoadSprite(0,file$)
  Case 4 :CreateSprite(0, 80,50)
 
  Case 5 :picBG=LoadImage(   #PB_Any,file$)
  Case 6 :LoadImage( 0,file$)
EndSelect

; Procedure drawstuff()
;   StartDrawing( ScreenOutput() )
;     Circle(200,200,Random(50), $00ff00 )
;   StopDrawing()
;   DisplaySprite(picBG,100,100)
; EndProcedure

Repeat
  If IsScreenActive()
    ClearScreen(100<<16)
    ;drawstuff()
  EndIf
  FlipBuffers() ; <---------------------- "invalid memory access" in case 1 and 2
  Delay(10)
Until 0
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
#NULL
Beiträge: 2237
Registriert: 20.04.2006 09:50

Re: FlipBuffers() verursacht Invalid Memory Access

Beitrag von #NULL »

das problem scheint in pb 440 beta 3 verschwunden zu sein.
my pb stuff..
Bild..jedenfalls war das mal so.
Antworten