![]() |
1
1
是的,它会起作用的。tadssettings组件修改Advantage客户机引擎(ace)中的设置,使用isapi,将有一个所有线程都使用的ace加载实例。 不过,我不推荐它。根据您正在更改的设置,直接调用ACE API会更有意义。例如,如果您只设置日期格式,那么消除tadsettings组件并只调用adssetdateformat60(它接受一个连接句柄)就更有意义了。去掉tadssettings组件可以消除设置ace全局设置的大量调用。其中许多调用都必须有一个同步对象,以便在全局更改时关闭所有连接。这将对性能产生负面影响,尤其是在像Web应用程序这样的多线程应用程序中。而是对指定的连接句柄进行操作。 您可以通过引用tadsconnection.handle属性或调用tadsquery.getaceConnectionHandle方法来获取连接句柄。 |
![]() |
2
0
如果AdsQueries不在主线程中(即,如果AdsQueries不在主线程中,请确保使用Synchronize直接访问tadsettings(或使用消息传递系统在工作线程和主线程之间通信,而不是直接访问)。
|
![]() |
3
0
我也在新闻组问过这个问题:devzone.advantagedabase.com,advantage.delphi 为了完整起见,我将从该线程的其余部分添加更多的问题/答案:
因此,根据Jeremy的回答,最好为每个线程创建至少一个tadsconnection对象,并确保所有查询都附加到该对象上,否则可能发生序列化。 |
![]() |
user107586 · 如何处理等待句柄不会导致无限循环? 6 月前 |
![]() |
ron burgundy · 获取-释放语义是否跨线程传递?[副本] 6 月前 |
![]() |
BenjiFB · C#内存缓存:在一次操作中追加到列表? 6 月前 |
![]() |
András Takács · Python多线程问题 10 月前 |
|
András Takács · Python多线程错误 10 月前 |