【发布时间】:2015-03-27 22:34:45
【问题描述】:
我们有一个巨大的 Delphi 2005 应用程序,其中包含大量 ADO 组件(TADODataset、TADOStoredPROc、TADOCommand...),分布在数百个表单上。它们都连接到 SINGLE TADOConnection。
这些组件中的大多数都将其 CommandTimeout 属性设置为默认值 (30 秒),但少数将其设置为 5 分钟 (300 秒),有些设置为永不超时 (0 秒)。
我希望能够为应用程序范围内的所有 ADO 组件全局更改此设置。我更喜欢在运行时以编程方式执行此操作,以便我可以根据需要在每个安装的基础上调整超时。
我希望在创建/附加 ADO 组件时可以在连接上找到一个全局事件,我可以在其中调整命令超时,或者破解将我的代码注入组件本身的方法,但结果空白。
我不想创建后代,因为我必须搜索/替换所有组件,如果我忘记使用后代而不是常规 ADO 组件,我的超时将不会跟随应用程序的其余部分。
有人知道我们如何做到这一点吗?
【问题讨论】: