Datasnap.Provider.TCustomProvider.BeforeApplyUpdates
Delphi
property BeforeApplyUpdates: TRemoteEvent read FBeforeApplyUpdates write FBeforeApplyUpdates;
C++
__property Datasnap::Dbclient::TRemoteEvent BeforeApplyUpdates = {read=FBeforeApplyUpdates, write=FBeforeApplyUpdates};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
event | protected | Datasnap.Provider.pas Datasnap.Provider.hpp |
Datasnap.Provider | TCustomProvider |
説明
プロバイダがクライアント データセットからの更新を提供する前に、発生します。
BeforeApplyUpdates イベント ハンドラを記述すると、クライアント データセットからのカスタム情報に応答できます。 BeforeApplyUpdates は、クライアント データセットとプロバイダが、更新に関する情報をやり取るするためのメカニズムの一部です。 プロバイダがステートレス アプリケーション サーバーの一部である場合、このメカニズムにより、クライアント データセットとプロバイダは、永続的な状態情報をやり取りすることが可能になります。
クライアント データセットの ApplyUpdates メソッドが呼び出された際、次のイベントが発生します:
1. クライアント データセットが BeforeApplyUpdates イベントを受信。ここでは、カスタム情報を OleVariant にエンコード。
2. プロバイダが BeforeApplyUpdates イベントを受信。ここでは、クライアント データセットからの OleVariant が OwnerData パラメータとして渡される。プロバイダは、更新を適用する前に、それに対応もしくはその情報を変更することができる。
3. データセット プロバイダの場合、プロバイダは更新を提供し、問題のあるレコードについて OnUpdateError イベントを受信。
4. プロバイダが AfterApplyUpdates イベントを受信。ここでは、カスタム情報を OwnerData パラメータへエンコード、または、BeforeApplyUpdates イベント ハンドラからの情報に応答することができる。
5. クライアント データセットが AfterApplyUpdates イベントを受信。ここでは、プロバイダの AfterApplyUpdates イベント ハンドラから返されたカスタム情報に応答することができる。
メモ: ApplyUpdates が OwnerData パラメータなしで呼び出された場合、このイベント ハンドラへ入った時点では、OwnerData パラメータは nil(Delphi の場合)または NULL(C++)で、出る際にその値は AfterApplyUpdates イベント ハンドラにのみ渡され、呼び出し側には返しません。
BeforeApplyUpdates は Datasnap.DBClient.TRemoteEvent 型です。