Onderstaande code geeft allerlei rare foutmeldingen in de eerste regel (dikgedrukt) (zoals 'het pad (in formbegin.zoeken_textboxstartmap.text.tostring) is ongeldig')
Echter: wanneer ik onderstaande code gebruik in de load-sub (of een button.click sub) doet hij het wel goed...
Er zit geen verschil tussen de codes. toch geeft deze bij de backgroundworker een foutmelding, en buiten de backgroundworker niet.
Hoe kan ik deze ook IN de backgroundworker werkend krijgen?
P.S.: de reden dat ik de code IN een backgroundworker wil is omdat de code erg lang duurt en het programma ondertussen verder moet kunnen...
Code:
Private Sub BackgroundWorkerzoeken_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles backgroundworkerzoeken.DoWork
[B]For Each map As String In IO.Directory.GetDirectories(FormBegin.Zoeken_TextBoxStartMap.Text.ToString, "*", IO.SearchOption.AllDirectories)[/B]
zoekresultaten.Add(map)
Next
End Sub
Private Sub BackgroundWorkerzoeken_RunWorkerCompleted(ByVal sender As System.Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles backgroundworkerzoeken.RunWorkerCompleted
For Each item In zoekresultaten
FormBegin.Zoeken_ListBoxZoekResultaten.Items.Add(item)
Next
FormBegin.Zoeken_ButtonStopZoeken.Enabled = False
FormBegin.Zoeken_ButtonZoeken.Enabled = True
FormBegin.Zoeken_ButtonBladerenStartMap.Enabled = True
FormBegin.Zoeken_TextBoxStartMap.Enabled = True
End Sub
Echter: wanneer ik onderstaande code gebruik in de load-sub (of een button.click sub) doet hij het wel goed...
Code:
For Each map As String In IO.Directory.GetDirectories(FormBegin.Zoeken_TextBoxStartMap.Text.ToString, "*", IO.SearchOption.AllDirectories)
zoekresultaten.Add(map)
Next
For Each item In zoekresultaten
FormBegin.Zoeken_ListBoxZoekResultaten.Items.Add(item)
Next
FormBegin.Zoeken_ButtonStopZoeken.Enabled = False
FormBegin.Zoeken_ButtonZoeken.Enabled = True
FormBegin.Zoeken_ButtonBladerenStartMap.Enabled = True
FormBegin.Zoeken_TextBoxStartMap.Enabled = True
Er zit geen verschil tussen de codes. toch geeft deze bij de backgroundworker een foutmelding, en buiten de backgroundworker niet.
Hoe kan ik deze ook IN de backgroundworker werkend krijgen?
P.S.: de reden dat ik de code IN een backgroundworker wil is omdat de code erg lang duurt en het programma ondertussen verder moet kunnen...