BGW im Loop?

17/11/2007 - 09:43 von leslie eldrige | Report spam
Hallo Zusammen,

Ich habe bisher die Back Ground Workers immer in einem Gang verwendet, das
heisst einmal gestartet durch ein Userereignis. Vor dem Starten wird die
Eigenschaft IsBusy abgefragt und dem User entsprechende Meldung ausgegeben.
Das funktioniert sehr gut, nun habe ich jetzt ein BGW der in einem Loop
aufgerufen wird. Im Loop frage ich auch die Eigenschaft IsBusy ab, jedoch ist
sie nur beim ersten durchlauf FALSE, BGW wird gestartet aber im zweiten,
dritten usw. LOOP Durchlauf ist die IsBusy Eigenschaft dann immer TRUE!
Natürlich habe ich im Loop eine Pause von 5 Sekunden eingebaut und schon das
sollte reichen für die erste BGW Ausführung, aber scheinbar wird die
Eigenschaft aus irgendwelchem Grund nicht mehr zurückgesetzt!

Hat das jemand schon mal beobachtet (BGW aus einem LOOP heraus aufrufen wenn
IsBusy FALSE ist)?

Wie kann ich dann IsBusy selber auf FALSE setzen, weil ich habe die Info
wenn BGW beendet wird?

Danke schon mal im Voraus.

les
 

Lesen sie die antworten

#1 Peter Fleischer
17/11/2007 - 12:23 | Warnen spam
"leslie eldrige" schrieb im
Newsbeitrag news:

Ich habe bisher die Back Ground Workers immer in einem Gang verwendet, das
heisst einmal gestartet durch ein Userereignis. Vor dem Starten wird die
Eigenschaft IsBusy abgefragt und dem User entsprechende Meldung
ausgegeben.
Das funktioniert sehr gut, nun habe ich jetzt ein BGW der in einem Loop
aufgerufen wird. Im Loop frage ich auch die Eigenschaft IsBusy ab, jedoch
ist
sie nur beim ersten durchlauf FALSE, BGW wird gestartet aber im zweiten,
dritten usw. LOOP Durchlauf ist die IsBusy Eigenschaft dann immer TRUE!
Natürlich habe ich im Loop eine Pause von 5 Sekunden eingebaut und schon
das
sollte reichen für die erste BGW Ausführung, aber scheinbar wird die
Eigenschaft aus irgendwelchem Grund nicht mehr zurückgesetzt!

Hat das jemand schon mal beobachtet (BGW aus einem LOOP heraus aufrufen
wenn
IsBusy FALSE ist)?

Wie kann ich dann IsBusy selber auf FALSE setzen, weil ich habe die Info
wenn BGW beendet wird?



Hi Leslie,
ich habe dein Posting mehrmals gelesen und nicht verstanden, was du meinst.

Wenn du den BGW startest, dann weißt du ja, dass der BGW gestartet wurde.
Solange die mit DoWork aufgerufene Routine nicht beendet wurde, làuft der
BGW, auch wenn er selbst ggf. auf irgend etwas wartet. Mit ProcessChanged,
kann der BGW dem startenden thread etwas über den Fortschritt miteilen. Mit
RunWorkerCompleted kann der BGW das Ende melden. Was willst du denn noch?

Viele Gruesse

Peter

Ähnliche fragen