ich habe ein kleines Problemchen.
In einer Procedur wird eine 12-fach geschachtelte FOR-NEXT Schleife abgearbeitet.
Je nach Grenzwerte dauert das auch schon mal 30 Minuten.
Um die Events abzuarbeiten, hatte ich zuerst ein
While WindowEvent() : Wend
in die innerste FOR - NEXT Schleife eingebaut, die immer durchlaufen wird.
Soweit, so gut.
Nun möchte ich gern während der Abarbeitung der 12 geschachtelten FOR - NEXT Schleifen eine Abbruchbedingung einfügen, die Schleife verlassen, und zum Ende der Procedur gehen.
Dies soll durch Anklicken eines Button oder des Schließknopfes möglich sein.
Dazu habe ich die WHILE / WEND Schleife wie folgt erweitert :
Code: Alles auswählen
While WindowEvent()
Select = WaitWindowEvent()
Case #PB_EventCloseWindow
EventID = #PB_Event_CloseWindow
Abbruch = Abbruch + 1
FreeGadget(95)
Break 13
Case #PB_Event_Gadget
EventID=EventGadgetID()
If EventID = 95
Abbruch = Abbruch + 1
FreeGadget(95)
EndIf
Break 13
EndSelect
Wend
Das Problem ist nun, daß der Klick auf den Button oder des Schließknopfes nicht immer sofort erkannt wird.
Manchmal erst beim 3-4.Mal !
Eine mögliche und sicher auch elegantere Lösung mit einem eigenständigen Thread möchte ich als PureBasic - Erstklässler naturgemäß noch nicht gehen.
Gibt es auch eine funktionierende Lösung "Zu Fuß" ?
Ich habe hier im Anfängerforum hoch und runtergeblättert, und auch schon ähnliche Fragestellungen gesehen.
Aber irgendwie haben die nicht so richtig gepaßt, oder ich habe es nicht richtig geschnallt.
Diesmal bitte nicht ein Hinweis zum Selbsterarbeiten, sondern ausnahmsweise einen kompletten Codeschnipsel.
Für Eure Hilfe schon mal herzlichen Dank.
Gruß Peter
