次の方法で共有


ADO/WFC

適用先: Access 2013、Office 2013

Windows Foundation Classes (ADO/WFC) 用の ADO は、ADO のイベント モデルを基に構築されており、簡素化されたアプリケーション プログラミング インターフェイスを提供します。 通常、ADO/WFC は、ADO イベントを取得してイベント パラメーターを単一のイベント クラスに統合してから、イベント ハンドラーを呼び出します。

ADO/WFC で ADO イベントを使用するには

  1. イベントを処理するための独自のイベント ハンドラーを定義します。 たとえば、 ConnectionEvent ファミリの ConnectComplete イベントを処理する場合は、次のようなコードを使用できます。

    
    public void onConnectComplete(Object sender,ConnectionEvent e) 
    { 
        System.out.println("onConnectComplete:" + e); 
    } 
    
  2. 作成したイベント ハンドラーを表すハンドラー オブジェクトを定義します。 ハンドラー オブジェクトのデータ型は、 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) への参照です。

  3. Add your event handler to a list of handlers designated to process a particular type of event. addOnEventName(handler) などの名前で メソッドを使用します

  4. 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 つのデータ メンバーが含まれます。

  5. 次に、ADO/WFC は、ADO/WFC のイベント オブジェクトを使用して、前の手順で作成したイベント ハンドラーを呼び出します。 たとえば、 onConnectComplete ハンドラーのシグネチャは次のとおりです。

    
        public void onConnectComplete(Object sender,ConnectionEvent e) 
    

    最初の引数は、イベントを送信したオブジェクトの型 (Connection または Recordset)、2 番目の引数は、ADO/WFC のイベント オブジェクト (ConnectionEvent または RecordsetEvent) です。 このイベント ハンドラーのシグネチャは、ADO イベントよりも単純です。 ただし、イベントに適用されるパラメーター、および応答の方法を理解するには、ADO のイベント モデルを理解しておく必要があります。

  6. 作成したイベント ハンドラーから、ADO イベントの ADO/WFC ハンドラーに制御が戻ります。 ADO/WFC は、関係する ADO/WFC のイベント データ メンバーを ADO のイベント パラメーターにコピーし、ADO のイベント ハンドラーに制御が戻ります。

  7. When you are finished processing, remove your handler from the list of ADO/WFC event handlers. removeOnEventName(handler) などの名前で メソッドを使用します