Das ist sehr nützlich, da man auch gerne mal Events verwenden möchte, ohne ein Fenster in Verwendung zu haben.
Unter Windows funktioniert das leider nicht - auch nicht mit SetWindowCallback().
Code: Alles auswählen
Procedure MyEvent()
Debug "Mein Event wurde ausgelöst"
Debug "Meine Event-Daten: " + Str(EventData())
End
EndProcedure
Procedure MyThread(void)
a = ElapsedMilliseconds()
Repeat
Delay(1)
e = ElapsedMilliseconds()
Until (e - a) > 2000
PostEvent(#PB_Event_FirstCustomValue, #PB_Ignore, #PB_Ignore, #PB_Ignore, 77)
EndProcedure
#UseBindMode = #False ; WaitWindowEvent()-Modus (funktioniert nicht ohne Window)
;#UseBindMode = #True ; BindEvent()-Modus (funktioniert ohne Window)
CreateThread(@MyThread(), 0)
CompilerIf #UseBindMode
BindEvent(#PB_Event_FirstCustomValue, @MyEvent())
Repeat: Delay(1): ForEver
CompilerElse
Repeat
If WaitWindowEvent() = #PB_Event_FirstCustomValue
MyEvent()
EndIf
ForEver
CompilerEndIf