我希望能够在它自己的线程中异步打开一个 TDataSet,以便主 VCL 线程可以继续运行直到完成,然后让主 VCL 线程从该 TDataSet 读取。我做了一些实验并且遇到了一些非常奇怪的情况,所以我想知道是否有人以前做过。
我见过一些示例应用程序,其中 TDataSet 在单独的线程中创建,它被打开,然后从中读取数据,但这都是在单独的线程中完成的。我想知道在另一个线程打开数据源之后从主 VCL 线程读取 TDataSet 是否安全。
我在 Delphi 7 中进行 Win32 编程,使用来自DAC for MySQL的 TmySQLQuery作为我的 TDataSet 后代。