Wie kann ich aus einer laufenden Schleife (For Next) aussteigen, indem ich einen Button ("Stop"-ButtonGadget) klicke?
Ich habe ins Hauptprogramm folgendes geschrieben:
Code: Alles auswählen
Repeat
  pgrlauf = Window_0_Events(WaitWindowEvent())
Until pgrlauf = #False
End
 
Procedure Window_0_Events(event)
  Select event
    Case #PB_Event_CloseWindow
      ProcedureReturn #False
    Case #PB_Event_Menu
      Select EventMenu()
      EndSelect
    Case #PB_Event_Gadget
      Select EventGadget()
        ...          
        Case btmStop
          StoppBerechnung(EventType())          
        ...     
      EndSelect
  EndSelect
  ProcedureReturn #True
EndProcedure
Code: Alles auswählen
btmStop = ButtonGadget(#PB_Any, 20, 60, 40, 20, "Stop")
GadgetToolTip(btmStop, "Stoppt die Berechnung")
Code: Alles auswählen
Procedure StoppBerechnung(EventType)
  Anhalten = 1
EndProcedure
Code: Alles auswählen
 If Anhalten = 1
      Anhalten = 0
      StatusBarText(0, 0, "Berechnung abgebrochen")
      Break
    EndIfDas Programm meldet dann nur "Keine Rückmeldung" und rechet im Hintergrund weiter.

