3

私はデータベースで動作するコンポーネントに取り組んでおり、データベース接続はTADOConnection、オブジェクトインスペクターに表示されるプロパティを介してこのコンポーネントの外部から指定されます。外部ユーザーがこのADOコンポーネントのイベントを利用しようとしているのではないかと思います。それでも、接続または切断のタイミングやその他のさまざまなイベントを検出できる必要があります。TADOConnection外部ユーザーが割り当てた可能性のあるイベントハンドラーをオーバーライドせずにのイベントを取得できますか?

4

1 に答える 1

5

重い副作用や厳格な制限がなければ、これに対する解決策はありません。

イベントのルートを変更する必要がありますが...

外部ユーザーは、設計時に(ある方法で処理できる)イベントを変更できますが、実行時にも変更でき、すべてのアプローチが機能しなくなります。

(おそらく)可能な回避策として(そしてそれは制限です)、TADOConnectionからの独自の降下を公開し、外部ユーザーにこれを使用させ、マルチキャストイベントを実装することができます。

接続/切断イベントの通知を受け取りたいだけの場合は、保護されたメソッドTCustomConnection.RegisterClient(ユニットData.DB)を呼び出すことができます。

于 2012-11-23T09:48:18.413 に答える