Bde.DBTables.TBDECallback.Create

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

constructor Create(AOwner: TObject; Handle: hDBICur; CBType: CBType;  CBBuf: Pointer; CBBufSize: Integer; CallbackEvent: TBDECallbackEvent; Chain: Boolean);

C++

__fastcall TBDECallback(System::TObject* AOwner, Bde::hDBICur Handle, Data::Dbcommontypes::CBType CBType, void * CBBuf, int CBBufSize, TBDECallbackEvent CallbackEvent, bool Chain);

プロパティ

種類 可視性 ソース ユニット
constructor public
Bde.DBTables.pas
Bde.DBTables.hpp
Bde.DBTables TBDECallback


説明

TBDECallback のインスタンスを作成し、指定されたコールバックを Borland Database Engine(BDE)に登録します。

Create を呼び出すと、コールバックを BDE に登録することができます。Create は、BDE 関数を呼び出す前に TBDECallback オブジェクトを作成します。この関数はイベントに応答してこのコールバックを使用しなければなりません。

BDE が CBType パラメータで示されるイベントの型を見つけると,CallbackEvent パラメータで指定された関数が呼び出されます。CallbackEvent は,コールバック記述子を指すポインタを受け取ります。コールバック記述子の型は CBType によって異なります。DelphiC アプリケーションは,コールバック記述子用にメモリを割り当てる必要があります。このメモリへのポインタは、CBBuf パラメータとして渡され、そのサイズは、CBBufSize パラメータで用意されます。

Chain パラメータは、コールバック関数が、このCBType の他のコールバックと置き換わるかどうか示します。Chain が false の場合、CallbackEvent 関数は、CBType に対して登録されているコールバックと置き換わります。Chain が true の場合、CallbackEvent 関数は、他の登録済みコールバックに追加して呼び出されます。

Handle パラメータは任意のパラメータで、コールバックを生成する可能性のある BDE 関数に関連付けられているデータベース カーソルを示します。Handle を指定すると、コールバックを、そのカーソルに対する関数呼び出しに限定することができます。

次の表に、各 CBType に関連付けられたコールバック記述子の型を示します。詳細については、BDE ドキュメントを参照してください。

CBTypeUsagecallback 記述子



CBType 用途 コールバック記述子

cbGENPROGRESS

大きなバッチ処理の進行状況に応答する。たとえば、進捗バーやキャンセル ボタンの実装など。cbrABORT を返すとキャンセル、cbrCONTINUE を返すと続行される。

CBPROGRESSDesc

cbRESTRUCTURE

テーブルの再構築で発生した状況にどう対処するかを BDE に指示する。

cbrYES を返すと、デフォルトの動作を行って処理をし、cbrNO ではデフォルトの動作を行わず処理をし、cbrABORT では再構築をキャンセルする。

cbBATCHRESULT

バッチ処理で発生した状況にどう対処するかを BDE に指示する。 cbrYES を返すと、デフォルトの動作を行って処理をし、cbrNO ではデフォルトの動作を行わず処理をし、cbrABORT ではバッチ処理をキャンセルする。

RESTCbDesc

cbTABLECHANGED

テーブル変更の通知に応答する。戻り値は無視される。

使用されていない

cbCANCELQRY

cbrABORT を返すと長く実行されているクエリをキャンセルし、cbrCONTINUE では続行する。コールバックは、クエリの実行中に定期的に呼び出されます。

使用されていない

cbINPUTREQ

BDE に、ファイル(ルックアップ テーブルなど)が見つからない場合に、どう応答するかを指示する。CBInputDesc で選択した動作を指定し、cbrCONTINUE を返す。

CBInputDesc

cbDBASELOGIN

暗号化 dBASE テーブルに対してパスワードを入力し、cbrCONTINUE を返す。

CBLoginDesc

cbFIELDRECALC

フィールドの要再計算の通知に応答する。戻り値は無視される。

使用されていない

cbTRACE

BDE がとったアクションのトレース情報に応答する。戻り値は無視される。

TRACEDesc

cbDBLOGIN

データベース サーバーにログインする。cbrCONTINUE を返す。

使用されていない。

cbDELAYEDUPD

キャッシュされた更新による、データベースへの変更レコード書き込み失敗の通知に応答する。cbrABORT を返すとすべてのキャッシュされた更新をキャンセル、cbrSKIP または cbrCONTINUE の場合、失敗した更新を破棄してレコードの送信を続行し、cbrRETRY の場合、失敗したコミットを再試行する。

DELAYUPDCbDesc



メモ: VCL は多くの BDE コールバック関数を使用します。Create を Chain に false を設定して呼び出すと、オブジェクトによっては期待する動作を無効にしてしまう可能性があります。

関連項目