mir ist aufgefallen, dass die PureBasic-Doku einige Einschränkungen für die Wertebereiche der Parameter von PostEvent() nennt, die tatsächlich aber überhaupt nicht zu existieren scheinen (bei Custom-Events!).
Konkret:
"Objekt" dürfe nur eine "positive Ganzzahl" sein und
"Type" dürfe nur ein Wert größergleich "#PB_EventType_FirstCustomValue" sein (auch bei Custom-Events).
Ist hier nur die Doku etwas unklar geschrieben, ist das wegen Plattformunabhängigkeit so geschrieben oder stehe ich einfach auf dem Schlauch?
Hier noch ein kleiner Testcode (wobei das Ergebnis wohl nur mäßige Aussagekraft besitzt):
Code: Alles auswählen
EnableExplicit
Global w, o, t, d
Procedure RandomPost()
RandomData( @w, SizeOf(Integer) )
RandomData( @o, SizeOf(Integer) )
RandomData( @t, SizeOf(Integer) )
RandomData( @d, SizeOf(Integer) )
PostEvent(#PB_Event_FirstCustomValue, w, o, t, d)
EndProcedure
If OpenWindow(0, 200, 200, 100, 100, "PostEvent")
AddWindowTimer(0, 0, 333)
Repeat
Select WaitWindowEvent()
Case #PB_Event_FirstCustomValue
Debug ElapsedMilliseconds()
Debug "w " + Bool( EventWindow() = w )
Debug "o " + Bool( EventGadget() = o )
Debug "t " + Bool( EventType() = t )
Debug "d " + Bool( EventData() = d )
Debug ""
Case #PB_Event_Timer
RandomPost()
Case #PB_Event_CloseWindow
Break
EndSelect
ForEver
EndIf