Delphi CheckBrowseMode vs Post
我在大量使用Delphi CheckBrowseMode vs Post,delphi,dataset,Delphi,Dataset,我在大量使用TDataset.CheckBrowseMode而不是Post的地方维护了一些遗留代码 您能告诉我这种方法的优点吗?与.Post和.CheckBrowseMode之间的根本区别在于控制数据集中的状态/更改 如果试图将数据发布到不在dsEditModes中的数据集中,将引发异常 回答您的问题,优势在于: 如果状态未处于dsEditModes,如果调用.Post,则会出现异常 另外,当没有记录被修改并且有人调用.CheckBrowseMode时,TDataSet将调用.Cancel,因此
TDataset.CheckBrowseMode
而不是Post
的地方维护了一些遗留代码
您能告诉我这种方法的优点吗?与
.Post
和.CheckBrowseMode
之间的根本区别在于控制数据集中的状态/更改如果试图将数据发布到不在
dsEditModes
中的数据集中,将引发异常
回答您的问题,优势在于:
如果状态未处于dsEditModes
,如果调用.Post
,则会出现异常
另外,当没有记录被修改并且有人调用.CheckBrowseMode
时,TDataSet将调用.Cancel
,因此,它将触发它各自的所有事件。与.Post
之间的根本区别在于控制数据集中的状态/更改
如果试图将数据发布到不在dsEditModes
中的数据集中,将引发异常
回答您的问题,优势在于:
如果状态未处于dsEditModes
,如果调用.Post
,则会出现异常
另外,当没有记录被修改并且有人调用.CheckBrowseMode
,TDataSet将调用.Cancel
,因此,它将触发所有它各自的事件。这个链接给出了一个类似于Delphi help one的描述:无论如何,仍然不清楚为什么我会使用“许多数据集方法内部使用”的方法您不必这样做,但是如果方法行为符合您的需要,您可以使用它。为什么要重新发明轮子。如果不适合,那么构建一个新的,或者只需调用Post
。但是您必须确保当前状态允许Post
(CheckBrowseMode
这样做),否则您将得到一个例外此链接给出了一个类似于Delphi帮助的描述:无论如何,仍然不清楚我为什么要使用“许多数据集方法内部使用”的方法,您不必,但是如果方法行为符合您的需要,您可以使用它。为什么要重新发明轮子。如果不适合,那么构建一个新的,或者只需调用Post
。但是你必须确保当前状态允许Post
(CheckBrowseMode
这样做),否则你会得到很多例外情况,几个月后我注意到了答案。无论如何,在我的遗留代码中,我总是有Mydataest.Edit;MydatasetField.asinteger:=23;Mydataset.CheckBrowseMode代码>。因此,我真的不认为有必要使用CheckBrowseMode
,因为数据集每次都被强制手动设置为editmode。因此,Post
也会这样做,但出于某种未知的原因,最初的开发人员决定使用CheckBrowseMode
。非常感谢,几个月后我注意到了答案。无论如何,在我的遗留代码中,我总是有Mydataest.Edit;MydatasetField.asinteger:=23;Mydataset.CheckBrowseMode代码>。因此,我真的不认为有必要使用CheckBrowseMode
,因为数据集每次都被强制手动设置为editmode。因此,Post
也会这样做,但出于某种未知的原因,原始开发人员决定使用CheckBrowseMode
。