Hi Leute,
ich habe einen Backgroundworker, der logischerweise was tut. Mein
Problem ist nun, das ich unter Umständen abbrechen möchte und der
WindowsForm eine Info darstellen möchte, warum abgebrochen wurde. Also
etwa so:
1 | void bgw_dowork (...)
|
2 | {
|
3 | System::String^ sInfo = gcnew System::String( L"" );
|
4 |
|
5 | .. mach was...
|
6 |
|
7 | if ( Fehler1 )
|
8 | {
|
9 | sInfo = L"Fehler1";
|
10 | e->Cancel = true;
|
11 | return;
|
12 | }
|
13 |
|
14 | .. mach was...
|
15 |
|
16 | if ( Fehler2 )
|
17 | {
|
18 | sInfo = L"Fehler2";
|
19 | e->Cancel = true;
|
20 | return;
|
21 | }
|
22 |
|
23 | .. mach was...
|
24 |
|
25 | //-- erfolgreich beendet
|
26 | e->Result = ...
|
27 | e->Cancel = false;
|
28 | }
|
Im EventHandler für das Complete-Event kann ich prüfen, ob erfolgreich
beendet wurde. Wenn ja, dann nutze ich e->Result. Aber wenn nicht, wie
bekomme ich die Info warum? Also wie kann ich das sInfo imBeispiel
übergeben?
e->Result kommt nicht mit, wenn ich mit e->Cancel abbreche...
Danke schonmal