出问题的代码procedure TD_BOMObj.UpdateBomDatas(vDatas: OleVariant; iMaxErrors: Integer;
  var iErrorCount: Integer);
begin
   try
      DBProvider.ApplyUpdates(vDatas,iMaxErrors,iErrorCount);
      SetComplete;
   except
     SetAbort;
   end;
end;
出错现象:程序死掉,提示“根事务要确认,但事务中止了操作“我将调用它的组件改为不需事务,则运行通过,但并未更新数据
苦恼中.....

解决方案 »

  1.   

    楼主的问题我也遇到过,开始的错误跟你一样,开始当我再运行时,又不是这个错误了。
    后来我改了一些东西,总算正常了。
    我是将协调对象中获取Appserver的方法由Later Binding改为了获取它的Dispatch对象,
    具体如下:
    var
     MyAppServer : ImtsBookDisp;
    begin
     try
       MyAppServer := ImtsBookDisp(IDispatch(FMyDM.dcomcBooks.AppServer));
       MyAppServer.UpdateDatas(vDatas, iMaxError, iErrorCount);
       SetComplete;
     except
       SetAbort;
     end;仅供参考,若你还有什么疑问,欢迎讨论。