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

Anfängerfragen zum Programmieren mit PureBasic.
K.Putt
Beiträge: 122
Registriert: 01.09.2006 00:17

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

Beitrag 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 :-)
Zuletzt geändert von K.Putt am 09.09.2009 04:15, insgesamt 1-mal geändert.
PB 5.x & Win 7 64Bit
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag 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
Zuletzt geändert von STARGÅTE am 09.09.2009 04:17, insgesamt 1-mal geändert.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
K.Putt
Beiträge: 122
Registriert: 01.09.2006 00:17

Beitrag von K.Putt »

Hatte zufällig gerade oben editiert,
denke kann verschoben werden.
Danke Dir.
PB 5.x & Win 7 64Bit
Antworten