首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Delphi中TDataSetProvider所需信息

Delphi中TDataSetProvider所需信息
EN

Stack Overflow用户
提问于 2009-01-07 20:28:44
回答 1查看 939关注 0票数 2

我有一个Midas项目,它在服务器中的一个TDataSetProvider中使用RemoteDataModules

目前,我正在利用下列事件

  • BeforeApplyUpdates --创建一个Object
  • BeforeUpdateRecord --使用object
  • AfterApplyUpdates --销毁对象

问题:

即使是更新错误,‘AfterApplyUpdates’也总是被调用吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-01-07 20:40:14

如果您查看源代码:

代码语言:javascript
复制
function TCustomProvider.DoApplyUpdates(const Delta: OleVariant; MaxErrors: Integer;
  out ErrorCount: Integer; var OwnerData: OleVariant): OleVariant;
begin
  SetActiveUpdateException(nil);
  try
    try
      if Assigned(FOnValidate) then
        FOnValidate(Delta);
      DoBeforeApplyUpdates(OwnerData);
      Self.OwnerData := OwnerData;
      try
        Result := InternalApplyUpdates(Delta, MaxErrors, ErrorCount);
      finally
        OwnerData := Self.OwnerData;
        Self.OwnerData := unassigned;
      end;
    except
      on E: Exception do
      begin
        SetActiveUpdateException(E);
        raise;
      end;
    end;
  finally
    try
      DoAfterApplyUpdates(OwnerData);
    finally
      SetActiveUpdateException(nil);
    end;
  end;
end;

Yoy看到在finally块中调用了DoAfterApplyUpdates。这意味着它总是被称为关注任何异常。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/421934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档