Bde.DBTables.TBDECallback.Create
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 を設定して呼び出すと、オブジェクトによっては期待する動作を無効にしてしまう可能性があります。