Seite 1 von 1

ImageOutput liefert falschen Wert bei threadsicherer Exe

Verfasst: 06.04.2006 09:06
von Hugo
Hallo,

wenn ich ImageOutput in einem Thread verwende, bekomme ich falsche Werte, sobald 'Threadsichere Exe' eingeschaltet ist. Sollte das so sein oder ist das ein Bug? (Beta 9)

Code: Alles auswählen

#WindowMain    =  1
#Image3        =  3
#ScrollGadget  = 21
#ImageGadget   = 22

Global gBY_Exit.b
;Global gMX_Image3.l

Procedure MainThread()
  
  Protected xtimer
  
  ;LockMutex( gMX_Image3 )
  Debug "2. ImageOutput: " + Str( ImageOutput( #Image3 ) )
  ;UnlockMutex( gMX_Image3 )
   
  Repeat
    Delay(100)
  ForEver
  
EndProcedure


If OpenWindow( #WindowMain, 100, 100, 500, 400, "Test", #PB_Window_SizeGadget | #PB_Window_SystemMenu )

  CreateImage( #Image3, 200, 200 )
  ;gMX_Image3 = CreateMutex()
  
  If CreateGadgetList( WindowID( #WindowMain ) )
     ImageGadget( #ImageGadget, 0, 0, 200, 200, ImageID( #Image3 ) ) 
        
     CreateThread( @MainThread(), 0 )
        
     ;LockMutex( gMX_Image3 )
     Debug "1. ImageOutput: " + Str( ImageOutput( #Image3 ) )
     ;UnlockMutex( gMX_Image3 )
        
     Repeat
       Select WaitWindowEvent()
         Case #PB_Event_CloseWindow  : gBY_Exit = #True
       EndSelect
        
     Until gBY_Exit
        
  EndIf
  
EndIf