Mam w programie zdefiniowane zdarzenie, króre jest podpiete pod naiśnięcie przycisku (button1). Funkcja tego zdarzenia jest czasochłonna i wykonuje się dosyć długo. Zdefiniowałem kolejny klaisz (button2) przerywający pracę button1. Oczywiście zadbałem o to, aby obsługa button1 co jakiś zwracała sterowanie do systemu w celu możliwości obsługi innych zdarzeń (Application.ProcessMessages;)
Aby przerwać pracę zdarzenia z button1 zdefiniowałem zmienną globalną, która jest znacznikiem do zakończenia wykonywania się obsługi. Problem polega na tym, że zdarzenie button1 składa się z szregu różnych funkcji i w celu zakończnia muszę w każdej z tych funkcji sprawdzać stan znacznika.
Pytanie moje brzmi jak w elegancki (jednorazowy) sposób spowodować, aby zdarzenie z button2 zakończyło poprzednie zdarzenie z button1?
Myślę że znajdzie się ktoś, kto miał podobny problem i udało mu się go rozwikłać.