表示: Delphi
C++
表示設定
コマンドの取り消し
提供:RAD Studio XE2
コマンドを非同期で実行している場合は,Execute を呼び出した後で Cancel メソッドを呼び出すと,その実行処理を中止できます。
procedure TDataForm.ExecuteButtonClick(Sender: TObject); begin ADOCommand1.Execute; end; procedure TDataForm.CancelButtonClick(Sender: TObject); begin ADOCommand1.Cancel; end;
void __fastcall TDataForm::ExecuteButtonClick(TObject *Sender) { ADOCommand1->Execute(); } void __fastcall TDataForm::CancelButtonClick(TObject *Sender) { ADOCommand1->Cancel(); }
Cancel メソッドは,保留中のコマンドがあって,そのコマンドが非同期で実行された(Execute メソッドの ExecuteOptions パラメータに eoAsynchExecute が指定されている)場合にのみ機能します。コマンドが保留中とみなされるのは,Execute メソッドが呼び出された後,コマンドがまだ終了せず,タイムアウトにもなっていない場合です。
CommandTimeout で指定されている秒数が経過するまでに,コマンドが終了せず,また取り消しもされなかった場合,そのコマンドはタイムアウトになります。デフォルトでは,30 秒後にコマンドがタイムアウトします。