次のように、コードを 1 つの形式に単純化しました。
Imports System.Threading.Tasks
Public Class frmTest
Inherits Form
Public Sub WorkerSub(oAction As action)
Dim x = 0
oAction.Invoke()
x += 1
End Sub
Private Sub Test()
If Me.InvokeRequired Then
Me.Invoke(Sub()
Test()
End Sub)
Else
MsgBox("Test")
End If
End Sub
Private Sub btnTrigger_Click(sender As Object, e As EventArgs) Handles btnTrigger.Click
Dim tt As Task = Task.Factory.StartNew(Sub()
WorkerSub(AddressOf Test)
End Sub)
tt.Wait()
' Never arrives here
Stop
End Sub
End Class
in Sub Test を実行するMe.Invoke(sub() ...
とハングします。エラーはスローされず、イベント ビューアには何も書き込まれません。
F11、Debug Into を押してもハングします。
何か案は?
ありがとう
JP