Seite 1 von 1

[PB 4.40 Beta2] WaitWindowEvent()-TimeOut & CloseWindow

Verfasst: 09.09.2009 03:57
von K.Putt
Wenn man bei WaitWindowEvent(Timeout) einen Wert für Timeout angibt, dann reagiert das Schließen-Symbol (x) in der Titelzeile nicht mehr (#PB_Event_CloseWindow).

Code: Alles auswählen

OpenWindow(0, 0, 0, 300, 300, "Bug")
Repeat 
  EventID = WaitWindowEvent(10)
Until WaitWindowEvent() = #PB_Event_CloseWindow

EDIT:

Ich habe gerade weiter getestet, witzigerweise funktioniert es so einwandfrei:

Code: Alles auswählen

OpenWindow(0, 0, 0, 300, 300, "Doch kein Bug?")
Repeat 
  EventID = WaitWindowEvent(10)
Until WaitWindowEvent(10) = #PB_Event_CloseWindow
D.h. derselbe Wert des ersten Timeouts (Beispiel 10) muß auch immer beim:
Until WaitWindowEvent(10)
angegeben werden.

Ich bin mir jetzt nicht mehr sicher, ob es sich wirklich um einen Bug handelt, denn wenn man es so macht:

Code: Alles auswählen

OpenWindow(0, 0, 0, 300, 300, "Bug")
Repeat 
  EventID = WaitWindowEvent(10)
Until EventID = #PB_Event_CloseWindow
klappt es natürlich immer.

PS:
Schiebt das bitte einfach zu den Anfängern :-)

Verfasst: 09.09.2009 04:14
von STARGÅTE
Kann ich nicht bestätigen!

Code: Alles auswählen

OpenWindow(#PB_Any, 0, 0, 800, 600, "Fenster", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
Repeat
Until WaitWindowEvent(10000) = #PB_Event_CloseWindow
Schließsymbol reagiert, und Event wird auch ausgelöst.

Bitte Code !!
Liegt es vielleicht an deinem Code ?

Alle Fehler gleich als Bug darzustellen ist grundlegend falsch ... bitte immer erst Nachfragen (z.B. im Fragen-Bereich)

EDIT:
Danke für den Code, geht aber auch dein Code geht bei mir einwandfrei!

Das hier ist falsch:

Code: Alles auswählen

OpenWindow(0, 0, 0, 300, 300, "Doch kein Bug?") 
Repeat 
  EventID = WaitWindowEvent(10) 
Until WaitWindowEvent(10) = #PB_Event_CloseWindow
weil du so das erste Event ignorierst ! und EventID garnicht geprüft wird.
So ist es richtig:

Code: Alles auswählen

OpenWindow(0, 0, 0, 300, 300, "Doch kein Bug?") 
Repeat 
  EventID = WaitWindowEvent(10) 
Until EventID = #PB_Event_CloseWindow

Verfasst: 09.09.2009 04:16
von K.Putt
Hatte zufällig gerade oben editiert,
denke kann verschoben werden.
Danke Dir.