多线程求助
本人是菜鸟
Private Sub btn_begin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_begin.Click
'记录变量
Me.loopSub = Me.chk_loopsub.Checked
Me.override = Me.chk_override.Checked
'清空文本框
Me.txt_detail.Text = ""
Me.txt_output.Text = ""
thread = New Thread(AddressOf doWork)
thread.Start()
Me.btn_begin.Enabled = False
Me.GroupBox1.Enabled = False
End Sub
Public Sub doWork()
If Directory.Exists(path) Then
loopPath(path)
SetText("提取完成")
Me.Complete("提取完成")
Else
Me.Complete("请选择目录")
Exit Sub
End If
End Sub
点击按钮后启动一个线程,我在本地调试时没有问题,但做成安装包后在其它电脑上安装后点击按钮后应用程序直接关闭了,是不是有线程安全问题啊?本人菜鸟,求高手赐教 --------------------编程问答-------------------- 不觉得,应该还是没测到关键问题 --------------------编程问答-------------------- 应该是调用com组件问题,不过为什么在线程内的错误不会被捕获呢,程序就直接关闭了。我如果不使用多线程的话可以捕获到这个错误,
Public Sub exceptionHandler(ByVal sender As Object, ByVal e As System.Threading.ThreadExceptionEventArgs)
log(e.Exception.Message)
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
path = My.Settings.path
Me.txt_path.Text = path
AddHandler Application.ThreadException, AddressOf Me.exceptionHandler
log("程序启动于" & Now())
End Sub
错误语句是这个:app = New AutoCAD.AcadApplication --------------------编程问答-------------------- 那就改多线程咯。改到正确为止,最后才加上多线程。
补充:.NET技术 , VB.NET