我有一个多线程应用程序,其中为每个线程创建了新的 TSQLConnection。如果我尝试使用跟踪(TSQLConnection.SetTraceEvent 或 TSQLMonitoring),我会按预期获得跟踪结果,但之后当我尝试使用任何数据库功能时,主线程似乎变得狂暴。应用程序抛出异常“在 0x004dffcf 处的访问冲突:写入地址 0xfffffff2”,IDE 中的调用堆栈显示重复行“7c90327a ntdll.RlConvertUlongToLargerInteger + 0x3c”和“7c90e48a ntdll.KiUserExceptionDispatcher + 0xe”,最上面一行是“Controls.读取控制名称(???)”。
那么,跟踪功能是否存在错误并且不适用于多线程应用程序,或者我的应用程序中是否存在隐藏错误?如何发现?
我正在使用德尔福 2007。
编辑看起来即使在主线程中有两个单独的连接也会引发异常。我将尝试创建测试应用程序。