3

我正在开发一个与数据库一起使用的组件,并且数据库连接是通过TADOConnection在对象检查器中可见的属性从该组件外部指定的。我假设外部用户可能打算使用此 ADO 组件的事件。然而,我还需要能够检测它何时连接或断开连接,以及其他各种事件。我可以在TADOConnection不覆盖外部用户可能已分配的事件处理程序的情况下获取事件吗?

4

1 回答 1

5

如果没有严重的副作用和/或严格的限制,就没有解决方案。

您必须重新安排事件,但是...

外部用户可以在设计时修改事件(可以以某种方式处理),也可以在运行时修改事件,每种方法都会中断。

作为(可能)可能的解决方法(这是一个限制),您可以从 TADOConnection 发布自己的下降并强制外部用户使用它,并实现多播事件。

如果您只想了解连接/断开连接事件,您可以调用受保护的方法 TCustomConnection.RegisterClient (unit Data.DB)

于 2012-11-23T09:48:18.413 回答