[Linux] PostEvent() / BindEvent() ohne OpenWindow()
Verfasst: 29.06.2014 11:18
Mir kam gerade die Idee, PostEvent() / BindEvent() einfach mal ohne einem vorangestelltem OpenWindow() auszuprobieren und es funktioniert - allerdings nur unter Linux (Mac kann ich nicht testen).
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().
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