hallo allemaal,
misschien een domme vraag maar ik kan werkelijk nergens vinden hoe ik fatsoenlijk een backgroundworker kan herstarten in vb.net. ik heb het volgende geprobeerd:
maar dan blijft het programma gewoon zonder melding hangen. als ik de while weglaat dan krijg ik de error dat de backgroundworker nog bezig is.
codering van de backgroundworker (mss belangrijk)
ik heb geen flauw idee hoe ik dit moet oplossen. heeft iemand een idee? of een goede denkrichting waarop ik verder kan bouwen? alvast hartelijk bedankt!
misschien een domme vraag maar ik kan werkelijk nergens vinden hoe ik fatsoenlijk een backgroundworker kan herstarten in vb.net. ik heb het volgende geprobeerd:
code:
1
2
3
4
5
| Me.BackgroundWorker1.CancelAsync() While BackgroundWorker1.IsBusy = True End While Me.BackgroundWorker1.RunWorkerAsync() |
maar dan blijft het programma gewoon zonder melding hangen. als ik de while weglaat dan krijg ik de error dat de backgroundworker nog bezig is.
codering van de backgroundworker (mss belangrijk)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
| Dim procInfo As New ProcessStartInfo With procInfo ' Using working directory is recommended .WorkingDirectory = "C:\Users\Frank\AppData\Roaming\.minecraft\server" ' Give the full path and filename next .FileName = "C:\Users\Frank\AppData\Roaming\.minecraft\server\server_start.bat" .Arguments = "" .RedirectStandardOutput = True '.RedirectStandardInput = True .UseShellExecute = False .CreateNoWindow = True End With Dim proc As Process = Process.Start(procInfo) While proc.StandardOutput.Peek <> CInt(proc.StandardOutput.EndOfStream) sb.AppendLine(proc.StandardOutput.ReadLine) If backgroundWorker1.CancellationPending Then proc.Kill() e.Cancel = True End If End While |
ik heb geen flauw idee hoe ik dit moet oplossen. heeft iemand een idee? of een goede denkrichting waarop ik verder kan bouwen? alvast hartelijk bedankt!