ADO/WFC
適用先: Access 2013、Office 2013
Windows Foundation Classes (ADO/WFC) 用の ADO は、ADO のイベント モデルを基に構築されており、簡素化されたアプリケーション プログラミング インターフェイスを提供します。 通常、ADO/WFC は、ADO イベントを取得してイベント パラメーターを単一のイベント クラスに統合してから、イベント ハンドラーを呼び出します。
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 番目の引数で指定されているイベント ハンドラーを含むクラスへの参照です。 Microsoft Visual J++ コンパイラも、これに相当する次のような構文をサポートしています。
ConnectionEventHandler handler = new ConnectionEventHandler(this, "onConnectComplete");
ConnectionEventHandler handler = new ConnectionEventHandler(this.onConnectComplete);
ConnectionEventHandler コンストラクターの最初の引数は、2 番目の引数で指定されているイベント ハンドラーを含むクラスへの参照です。 Microsoft Visual J++ コンパイラも、これに相当する次のような構文をサポートしています。
ConnectionEventHandler handler = new ConnectionEventHandler(this.onConnectComplete);
唯一の引数は、目的のクラス (this) と、そのクラス内のメソッド (onConnectComplete) への参照です。
Add your event handler to a list of handlers designated to process a particular type of event. 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 のイベント ハンドラーに制御が戻ります。
When you are finished processing, remove your handler from the list of ADO/WFC event handlers. removeOnEventName(handler) などの名前で メソッドを使用します。