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