gpt4 book ai didi

Delphi:在 OnBeforePost 事件中取消 TDataSet.Post

转载 作者:行者123 更新时间:2023-12-03 14:36:18 25 4
gpt4 key购买 nike

在我们的主数据输入屏幕上,我们在 OnBeforePost 事件中有一个“确定/取消”对话框。

  • 好吧一切顺其自然
  • 取消现在执行Dataset.Cancel;

它的作用是回滚所有更改并将数据集置于浏览模式。

这对于大多数客户来说都很好,但我们被问到是否可以更改为

  • 取消,中止帖子并保持编辑模式并保留当前更改。

如果他们想取消,可以使用取消按钮。

查看procedure TDataSet.Post;的源代码,看起来不可能以这种方式使用事件。

有人对如何做到这一点有任何想法吗?

跟进:这就是我现在选择的处理方式

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

最佳答案

调用方法Abort(如果我没记错的话,来自System单元)会引发一个静默的EAbort异常,该异常仅取消当前的手术。这应该可行。

(顺便说一句:这种取消数据库操作的方法也在帮助系统深处的某个地方被描述为实现此目的的“正常”方法——这就是我最初获得此技术的地方)。

关于Delphi:在 OnBeforePost 事件中取消 TDataSet.Post,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/838546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com