help,help,help关于com中关于数组传递

zm12345 2003-12-26 10:10:57
大虾们,哪位知道如何通过com将服务其中的数组传递给客户端,清赐教,有例子最好
...全文
69 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bxh2dai 2004-01-03
  • 打赏
  • 举报
回复
WangPeter(Peter)说的可以实现的,这个方法我都用过很多次了
楼主就用这个方法没错
WangPeter 2003-12-31
  • 打赏
  • 举报
回复
定义一个OleVariant变量,用VarArrayCreate创建一个数组,然后把这个变量作为参数传递就可以了.
如下,创建一个二维数据并赋值:
var
vArray: OleVariant;
begin
vArray:= VarArrayCreate([0, 1, 0, 2], varVariant);
vArray[0, 0] := 'aaa';
vArray[0, 1] := 1;
vArray[0, 2] := 'bbb';
vArray[1, 0] := 'ccc';
vArray[1, 1] := 2;
vArray[1, 2] := 'ddd';

end;
yie28658340 2003-12-31
  • 打赏
  • 举报
回复
请问在下面这句出错'Invalid data packet'
dsMx.Reconcile(Re[1]);
超人汪 2003-12-30
  • 打赏
  • 举报
回复
学习中,帮顶接分
netwizard 2003-12-30
  • 打赏
  • 举报
回复
楼上这个兄弟给的例子太好啦,显示的是如何在MIDAS中应用事务。
dragon432503 2003-12-27
  • 打赏
  • 举报
回复
这是从客户端传来数组然后处理后又传回客户端的,你试试:
function TVoiceSys.ApplyUpdateS(var Data: OleVariant; Provider: OleVariant;
ArrayLength: Integer): Integer;
Var
TmpPro:TDataSetProvider;
i:Word;
Pro:String ;
begin
cn.BeginTrans;
Try
for i:= 0 to ArrayLength-1 do
begin
TmpPro := TDataSetProvider(FindComponent(Provider[i]));
Pro:=TmpPro.Name;
if (TmpPro<>nil) and (not VarIsNull(Data[i])) then
begin
TmpPro.ApplyUpdates(Data[i],0,Result);
if Result>0 then
Abort;
end;
end;
Result := 0;
Cn.CommitTrans ;
Except
Cn.RollbackTrans;
end;
end;
客户端代码
procedure aSaveExecute(Sender: TObject);
var
ZbVar,MxVar:OleVariant;
ResultS:Integer;
Re:OleVariant;
begin
dsMx.CheckBrowseMode;
dsZb.CheckBrowseMode;
if dsZb.ChangeCount >0 then
ZbVar := dsZb.Delta
else
ZbVar := NULL;
if dsMx.ChangeCount >0 then
MxVar := dsMx.Delta
else
MxVar := NULL;
Re := VarArrayOf([ZbVar,MxVar]);
ResultS := dsZb.RemoteServer.AppServer.ApplyUpdateS(Re,VarArrayOf([dsZb.ProviderName,dsMx.ProviderName]),2);
if not VarIsNull(Re[1]) then
dsMx.Reconcile(Re[1])
else
if not VarIsNull(Re[0]) then
dsZb.Reconcile(Re[0])
else
begin
dsMx.Reconcile(Re[1]);
dsZb.Reconcile(Re[0]);
dsMx.Refresh;
dsZb.Refresh;
end;
end;

1,594

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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