backgroundworker unterbrechen
-
Gibt es eine Möglichkeit einen backgroundworker zu unterbrechen und nachher (z.B. mittels Button-Klick) wieder weiterzuführen? Der BackgroundWorker soll also nicht neu gestartet werden, sondern an der Stelle (in einer for-Schleife) weitermachen an der er gestoppt wurde.
-
Ein manual Reset Event bauen, dass isch Continue nennt. Dieses Event setzen wenn er weiterlaufen darf, Event zurücksezen zum Anhalten.
Zyklisch WaitForSigleObject verwenden im Worker.SuspendThread verbietet sich aus bekannten Gründen.
-
OHne EIngriff in den Code geht das nicht...
Und wenn Du jetzt auf den Gedanken kommst das ganze mit SuspendThread zu machen, dann rate ich Dir da dringend ab... da dies zum Dead-Lock führen kann...
Siehe auch mein Blog...
http://blog.kalmbachnet.de/?postid=16
-
Ich habs jetzt zwar relativ unschön dafür aber simpel gelöst. Einfach einen While-Loop in die For-Schleife eingebaut und mittels einer globalen Variable gestartet bzw. gestoppt.
-
Was dann zu 100% last führt... IMHO schlechte Lösung.