大家进来看看了,高手请帮忙了。

suny_2001 2002-04-16 09:37:08
有关于COM+的问题。我做了个更新对象,什么修改,增加都可以的。
但是当有一条记录先被别人修改后,我在去修改时。客户端就出现“任务对象版本不受支持或
无效”,而且返回的参数中的IERRORCOUNT=0。就是说服务器不能返回错误记录个数的参数
通过对更新对象断点调试发现,更新对象中的ERRORCOUNT=1的。而且出错的错误是“RECORD
CHANGED BY OTHER USESR”这个也是对的。然后就是不能返回给客户端。不知道什么原因。
大家帮忙了。

服务器更新对象代码。
procedure TmtsUpdateco.UpdateMainDatas(vDatas: OleVariant;
iMaxErrors: Integer; out iErrorCount: Integer; var OwnerData: OleVariant;
out Delta: OleVariant);
var Serverobj: IAppServer;
begin
try
ServerObj:=fmydm.dcomcUpd.GetServer as IAppServer;
Delta:=ServerObj.AS_ApplyUpdates('dspMain',vDatas,iMaxErrors,iErrorCount,OwnerData);
SetComplete;
except
SetAbort;
end;
end;

客户端代码
procedure SendDatasA(cdsMain1:TClientDataSet;vOwnerDatas:OleVariant);
var
uCoor : ImtsUpdateCo;
vDelta : OleVariant;
iErrorCount : Longint;
begin
uCoor := ComtsUpdateCo.CreateRemote(asaServerName);
uCoor.UpdateMainDatas(cdsMain1.Delta, 0, iErrorCount,vOwnerDatas,vDelta);
if iErrorCount>0 then
begin
DealError();
cdsMain1.UndoLastChange(True);
end
else
cdsMain1.MergeChangeLog;
end;
...全文
27 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
suny_2001 2002-04-23
  • 打赏
  • 举报
回复
wylove(阿刚) 便宜你了。
suny_2001 2002-04-23
  • 打赏
  • 举报
回复
终于解决了哦。看来对于这方面的问题,CSDN上没高手。
suny_2001 2002-04-17
  • 打赏
  • 举报
回复
好。这个问题真比较怪。
wylove 2002-04-17
  • 打赏
  • 举报
回复
不好意思,这种问题没有遇到过,回头试试,看能不能帮你忙!
suny_2001 2002-04-17
  • 打赏
  • 举报
回复
没人帮忙啊

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧