Annulation des commandes
Remonter à Utilisation d'objets commande
Si vous exécutez la commande de façon asynchrone, après avoir appelé Execute, vous pouvez abandonner l'exécution en appelant la méthode 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(); }
La méthode Cancel n'a d'effet que si une commande en attente a été exécutée de manière asynchrone (eoAsynchExecute dans le paramètre ExecuteOptions de la méthode Execute). Une commande est dite en attente si la méthode Execute a été appelée mais n'est pas encore achevée ou n'a pas dépassé le délai limite.
Une commande dépasse le délai limite si elle n'est pas terminée ou annulée dans l'intervalle, en secondes, imparti par la propriété CommandTimeout. Par défaut, les commandes disposent d'un délai de 30 secondes.