ADO イベントのインスタンス化: ADO と WFC
ADO for Windows Foundation Classes (ADO/WFC) は、ADO イベント モデルに基づいて構築され、簡略化されたアプリケーション プログラミング インターフェイスを提供します。 一般に、ADO/WFC は ADO イベントをインターセプトし、複数のイベント パラメーターを 1 つのイベント クラスにまとめてから、イベント ハンドラーを呼び出します。
ADO/WFC で ADO イベントを使用するには
イベントを処理する独自のイベント ハンドラーを定義します。 たとえば、ConnectionEvent ファミリの ConnectComplete イベントを処理する場合は、次のコードを使用できます。
public void onConnectComplete(Object sender,ConnectionEvent e) { System.out.println("onConnectComplete:" + e); }
イベント ハンドラーを表すハンドラー オブジェクトを定義します。 ハンドラー オブジェクトは、種類が ConnectionEvent のイベントのデータ型 ConnectEventHandler にするか、種類が RecordsetEvent のイベントのデータ型 RecordsetEventHandler にする必要があります。 たとえば、ConnectComplete イベント ハンドラー用に次のコードを記述します。
ConnectionEventHandler handler = new ConnectionEventHandler(this, "onConnectComplete");
ConnectionEventHandler コンストラクターの最初の引数は、2 番目の引数で指定されたイベント ハンドラーを含むクラスへの参照です。
特定の種類のイベントを処理するために指定されたハンドラーの一覧にイベント ハンドラーを追加します。 addOnEventName(handler) などの名前を持つメソッドを使用します。
ADO/WFC は、すべての ADO イベント ハンドラーを内部的に実装します。 したがって、Connection または Recordset 操作によって発生したイベントは、ADO/WFC イベント ハンドラーによってインターセプトされます。
ADO/WFC イベント ハンドラーは、ADO/WFC ConnectionEvent クラスのインスタンス内の ADO ConnectionEvent パラメーター、または ADO/WFC RecordsetEvent クラスのインスタンス内の ADO RecordsetEvent パラメーターを渡します。 これらの ADO/WFC クラスは、ADO イベント パラメーターを集約します。つまり、各 ADO/WFC クラスには、すべての ADO ConnectionEvent または RecordsetEvent メソッドの一意のパラメーターごとに 1 つのデータ メンバーが含まれます。
次に、ADO/WFC は ADO/WFC イベント オブジェクトを使用してイベント ハンドラーを呼び出します。 たとえば、onConnectComplete ハンドラーには次のようなシグネチャがあります。
public void onConnectComplete(Object sender,ConnectionEvent e)
最初の引数はイベントを送信したオブジェクトの種類 (Connection または Recordset) であり、2 番目の引数は ADO/WFC イベント オブジェクト (ConnectionEvent または RecordsetEvent) です。
イベント ハンドラーのシグネチャは、ADO イベントよりも単純です。 それでも、イベントに適用されるパラメーターと応答方法を把握するために、ADO イベント モデルを理解しておく必要があります。
イベント ハンドラーから ADO イベントの ADO/WFC ハンドラーに戻ります。 ADO/WFC により、関連する ADO/WFC イベント データ メンバーがコピーされて ADO イベント パラメーターに戻され、その後、ADO イベント ハンドラーが戻ります。
処理が完了したら、ADO/WFC イベント ハンドラーの一覧からハンドラーを削除します。 removeOnEventName(handler) などの名前を持つメソッドを使用します。
参照
ADO イベント ハンドラーの概要
ADO - WFC 構文のインデックス
イベント パラメーター
複数のイベント ハンドラーの連携方法
イベントの種類