Delphi: Annulation d'un TDataSet.Post dans un événement OnBeforePost

Sur notre principale écran de saisie des données, nous avons un OK/Annuler dans la boîte de dialogue OnBeforePost événement.

  • OK laisse les choses suivre leur cours
  • Annuler droit fait maintenant une Dataset.Cancel;

Qui fait ce qu'il est censé, l'annulation des modifications et met le jeu de données en mode de navigation.

C'est très bien pour la plupart des clients, mais il nous a été demandé si il peut être modifié à

  • AnnulerAbandon de Poste et de rester en mode edit avec les changements en cours gardé.

Si ils veulent annuler, ils peuvent utiliser le bouton annuler.

Regardant le source pour procedure TDataSet.Post; il ne semble pas possible d'utiliser l'événement de cette façon.

Dose de n'importe qui ont des idées sur la façon de ce qui pourrait être fait?

Suivi: c'est la façon dont j'ai choisi de le gérer maintenant

case MessageDlg('Save Changes?', mtWarning, [mbYes, mbNo, mbAbort], 0) of
  mrYes: ;
  mrNo: Dataset.Cancel;
  mrAbort: Abort;
  mrNone: Abort;
end;

source d'informationauteur Christopher Chase