Seite 3 von 3

Verfasst: 04.07.2006 08:21
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.)

noch ein Bug ???

Verfasst: 15.10.2006 02:29
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 ?

Verfasst: 15.10.2006 09:43
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

Verfasst: 15.10.2006 12:20
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.

Verfasst: 15.10.2006 14:20
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

Re: FlipBuffers() verursacht Invalid Memory Access

Verfasst: 18.09.2009 09:26
von #NULL
das problem scheint in pb 440 beta 3 verschwunden zu sein.