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 |
説明
Create は,TBDECallback のインスタンスを作成し,指定したコールバックをボーランドデータベースエンジン(BDE)に登録します。
Create コンストラクタを呼び出すと,BDE にコールバックを登録できます。Create は,コールバックを使ってイベントに応答する BDE 関数を呼び出す前に,TBDECallback オブジェクトを作成します。
BDE が CBType パラメータで示されるイベントの型を見つけると,CallbackEvent パラメータで指定された関数が呼び出されます。CallbackEvent は,コールバック記述子を指すポインタを受け取ります。コールバック記述子の型は CBType によって異なります。DelphiC アプリケーションは,コールバック記述子用にメモリを割り当てる必要があります。このメモリを指すポインタは CBBuf パラメータとして渡され,サイズが CBBufSize パラメータで与えられます。
Chain パラメータは,CallbackEvent 関数が CBType で指定されるほかのコールバックを更新するかどうかを指定します。Chain が false のときは,この CBType 用に登録されたすべてのコールバックが CallbackEvent 関数によって更新されます。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 コールバック関数を使用する。Chain を false に設定して Create メソッドを呼び出すと,いくつかのオブジェクトに期待される動作が無効になる場合がある。