我正在处理一个与数据库一起工作的组件,并且通过TADOConnection
属性从该组件的外部指定数据库连接,该属性在Object Inspector中可见。我假设外部用户可能打算使用此ADO组件的事件。然而,我还需要能够检测何时连接或断开连接以及其他各种事件。我是否可以获取TADOConnection
的事件而不覆盖外部用户可能已分配的事件处理程序?
答案 0 :(得分:5)
没有严重的副作用和/或严格的限制,没有解决方案。
您必须重新路由事件,但是......
外部用户可以在设计时修改事件(可以在某种程度上处理),但也可以在运行时修改事件,并且每种方法都会中断。
作为(可能)可能的解决方法(并且它是一个限制),您可以从TADOConnection发布自己的下降并强制外部用户使用它,并实现多播事件。
如果您只是想了解连接/断开事件,可以调用受保护的方法TCustomConnection.RegisterClient(unit Data.DB)