各位,我有一段代码结构如下,当我敲了命令CC,函数将btn的Click事件挂到了Btn1_Click函数上,我单击Btn后,运行Btn_Click 函数,在初始化
JIG类时,进到Jig的New函数中,又运行到我初始化A类,然后使用A类的一个DoSomething方法的时候,CAD报错。错误类型是LockViolation,好像是被锁了?但是我看不出来这样是哪里被锁了,Transaction是不是同时只能一个在用?或者,用完就Dispose后,才能开其他的呢?
那DataBase呢?
-
-
- Namespace MyApplicationName
- Class Main
- <CommandMethod("CC")> _
- Sub Commd '这个是我挂命令的函数
- Addhandler Form.Btn1.Click , Addressof Btn1_Click '运行命令后,我把一个窗体上的按钮的单击事件挂到了另一个函数上
- end Sub Commd
-
- Sub Btn1_Click(byval ....)
- '这里我实例化了一个Jig类
- dim Jig as new Jig(...)
- End Sub
- End Class Main
-
- Class Jig
- Sub New(...)
- Dim Db as Database = Application.Doc....
- Dim Tr as Transaction = Db.Tr....
- '这里我使用了Transaction做了一些事
- Tr.comit()
- Tr.Dispose()
- '然后我实例化一个A类
- Dim a as new A
- a.DoSomething()
-
- End Sub New
- End Class Jig
-
- Class A
- Sub New()
- End Sub New
-
- Sub DoSomething
- Dim Db as Database = Application.Doc....
- Dim Tr as Transaction = Db.Tr....
- '这里我也要用Tr做一些事
- tr.Comit()
- tr.Dispose()
- End Sub
- End Class A
- End Namespace
|