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




