德尔菲:取消TDataSet.后一OnBeforePost事件
题
在我们的主要数据条目屏幕上,我们有一个好/取消对话在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
例外,取消的只是当前操作。应工作。
(顺便说一句:这种方法取消databaset操作中也描述深处的某个地方帮助系统中的'正常的'方式实现这-这就是我得到了这种技术从最初).
不隶属于 StackOverflow