フォームについて少し(または大きな)ヘルプが必要です。「Organizefunction」領域内のすべてを別のスレッドで使用する必要があります。
フォームの「スタートボタン」領域にあるボタンを押して、「Organizefunction」サブの最初のサブを呼び出します。最初のサブは2番目のサブを呼び出し、2番目のサブは3番目のサブを呼び出します。
3番目のサブを自分で別のスレッドに追加し、2番目のサブを使用して引数をスレッドに渡そうとしましたが、すべてが間違っています。
誰かが私がこれをするのを手伝ってくれますか?
PS:このフォームの重要でない部分を削除して、確認しやすくしました。
読んでくれてありがとう。
Public Class Form1
#Region "Declarations"
' MediaInfo
Dim MI As MediaInfo
' Thread
Dim paused As Boolean = False
' Others
Dim NameOfDirectory As String = Nothing
Dim aFile As FileInfo
#End Region
'thread
Dim t As New Thread(AddressOf ThreadProc)
Public Sub ThreadProc()
' Aqui debería ir todo el sub de "organize function", bueno... son 3 subs!
If paused = True Then MsgBox("THREAD PAUSADO")
End Sub
#Region "Properties"
...
#End Region
#Region "Load / Close"
...
#End Region
#Region "Get Total files Function"
...
#End Region
#Region "Option checkboxes"
...
#End Region
#Region "Folder buttons"
...
#End Region
#Region "Append text function"
...
#End Region
#Region "Action buttons"
' pause button
Private Sub pause_button_Click(sender As Object, e As EventArgs) Handles pause_button.Click
paused = True
End Sub
' start button
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles start_button.Click
t.Start()
' Organization process
NameOfDirectory = userSelectedFolderPath
MediaInfo(NameOfDirectory)
End Sub
#End region
#Region "Organize function"
Public Sub MediaInfo(Directory)
Dim MyDirectory As DirectoryInfo
MyDirectory = New DirectoryInfo(NameOfDirectory)
MediaInfoWorkWithDirectory(MyDirectory)
End Sub
Public Sub MediaInfoWorkWithDirectory(ByVal aDir As DirectoryInfo)
Dim nextDir As DirectoryInfo
MediaInfoWorkWithFilesInDir(aDir)
For Each nextDir In aDir.GetDirectories
Using writer As StreamWriter = New StreamWriter(aDir.FullName & "\" & nextDir.Name & "\" & nextDir.Name & ".m3u", False, System.Text.Encoding.UTF8)
'overwrite existing playlist
End Using
MediaInfoWorkWithDirectory(nextDir)
Next
End Sub
Public Sub MediaInfoWorkWithFilesInDir(ByVal aDir As DirectoryInfo)
Dim aFile As FileInfo
For Each aFile In aDir.GetFiles()
' hacer cosas con aFile ...
Next
End Sub
#End Region
End Class