Hello, this function is making the whole program to freeze when it's working, so I would like to put it in another thread.
The problem is I don't know how to make it work in another thread because of the arguments and to return the value.
Can you help me ?
Function SearchForFiles(ByVal RootFolder As String, ByVal FileFilter() As String) As List(Of String) Dim ReturnedData As New List(Of String) Dim FolderStack As New Stack(Of String) FolderStack.Push(RootFolder) Do While FolderStack.Count > 0 Dim ThisFolder As String = FolderStack.Pop Try For Each SubFolder In GetDirectories(ThisFolder) FolderStack.Push(SubFolder) Next For Each FileExt In FileFilter ReturnedData.AddRange(GetFiles(ThisFolder, FileExt)) Next Catch ex As Exception End Try Loop Return ReturnedData End Function
https://docs.microsoft.com/en-us/dotnet/api/system.componentmodel.backgroundworker?view=netframework-4.7.2