コマンドの取り消し

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

コマンド オブジェクトの利用 への移動


コマンドを非同期で実行している場合、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 メソッドは、保留中のコマンドがあり、それが非同期に実行された場合にのみ効果があります(eoAsynchExecute は、Execute メソッドの ExecuteOptions パラメータです)。 コマンドが保留中と言えるのは、Execute メソッドが呼び出されたが、まだ完了またはタイムアウトしていない状態です。

コマンドは、CommandTimeout プロパティで指定された秒数が過ぎる前に、完了またはキャンセルされないと、タイムアウトします。 デフォルトでは、コマンドは 30 秒後にタイムアウトします。

関連項目