首页 > 解决方案 > 启动类并稍后在线程中使用它会创建错误 System.AccessViolationException

问题描述

我正在使用一个名为 DbConn 的类库来创建与访问数据库的数据库连接。

我像这样在一个正在运行的线程中启动其中的两个类

Dim thread As New Threading.Thread(Sub() saveDB(sfd.FileName))
thread.IsBackground = True
thread.Start()

Private Sub saveDB(dbpath as String) 
    Dim dbconn1 As New DbConn(databasepath)
    Dim dbconn2 As New DbConn(dbpath)

当我从该类调用任何函数时,我得到一个 AccessViolationException

Dim ds As DataSet = dbconn1.SelectCustomQuery(query)

如果我直接执行 Sub (不在线程内),代码将正常执行而没有任何错误。我是否必须在类库或线程中设置一些东西。我知道当我想更改 UI 元素时,我需要使用委托方法等

标签: vb.netmultithreading

解决方案


推荐阅读