Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi CheckBrowseMode vs Post_Delphi_Dataset - Fatal编程技术网

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