hi,
ich habe ein ganz allgemeines Problem:
stellen wir uns vor, ich habe eine Liste mit vielen ITEMs. Wenn der Benutzer auf Start klickt, arbeitet das Programm die Liste von oben ab. Es werden viele Sub's und Function's je Listpunkt durchlaufen. Dabei rufen sich die Bearbeitungs-Routinen mit Ergebnissen der vorherigen Routine selber auf.
Zusätzlich gibt es aber auch ein "Abbrechen" Button wo der Benutzer die Möglichkeit hätte (oder haben soll), die umfangreiche Abarbeitung sofort(!) zu beenden.
Frage ist nun: wie und an welcher Stelle kann ich die Abbrechen-Funktion elegant einbauen? In der ursprünglichen Liste-Schleife hilft mir nur wenig, da das Programm ja gerade in einer beliebigen Funktion hängen kann (mit Rückgabewert zur Weiterverarbeitung).
Meine Idee ist bisher, in jeder Unterroutine am Anfang eine Abfrage auf "Ist Abbrechen" zu schreiben, um dann Rückwärts wieder bis zum Startknopf zu kommen. Leider sehr umständlich ...
Hat jemand eine bessere Idee?
ich habe ein ganz allgemeines Problem:
stellen wir uns vor, ich habe eine Liste mit vielen ITEMs. Wenn der Benutzer auf Start klickt, arbeitet das Programm die Liste von oben ab. Es werden viele Sub's und Function's je Listpunkt durchlaufen. Dabei rufen sich die Bearbeitungs-Routinen mit Ergebnissen der vorherigen Routine selber auf.
Zusätzlich gibt es aber auch ein "Abbrechen" Button wo der Benutzer die Möglichkeit hätte (oder haben soll), die umfangreiche Abarbeitung sofort(!) zu beenden.
Frage ist nun: wie und an welcher Stelle kann ich die Abbrechen-Funktion elegant einbauen? In der ursprünglichen Liste-Schleife hilft mir nur wenig, da das Programm ja gerade in einer beliebigen Funktion hängen kann (mit Rückgabewert zur Weiterverarbeitung).
Meine Idee ist bisher, in jeder Unterroutine am Anfang eine Abfrage auf "Ist Abbrechen" zu schreiben, um dann Rückwärts wieder bis zum Startknopf zu kommen. Leider sehr umständlich ...
Hat jemand eine bessere Idee?