kbmmw中向服务器端传递对象的一种简单方式

运行环境:delphi 10.2+kbmmw 5.6.20

在kbmmw 的老版本中,要向服务器传送一个本地的对象,一般都需要进行一些转换,例如通过序列化的方式。

在新版的kbmmw中这一切都变的很简单,使用use... 方法就可以了,非常的方便,下面就简单的说一下。

首先不管是在客户端和服务端都要引用kbmMWSmartUtils 这个单元。

首先我们做服务器端。

在服务器端做一个处理过程

function Txalionsrv.Performgetobject(ClientIdent: TkbmMWClientIdentity;
  const Args: array of Variant): Variant;
 var
   sl:Tstringlist;

begin
     sl:= use.AsObject<Tstringlist>(args[0]);

     result:=sl.text;


end;

这个意思就是把客户端传上来的对象当作Tstringlist 处理。然后返回其内容。

就这么简单。运行即可。

现在再在客户端写对应的请求过程。

代码一样的简单。

procedure TForm2.Button8Click(Sender: TObject);
var
  args:array[0..1] of Variant;
  v:Variant;
  teststringlist:Tstringlist;
begin
   teststringlist:=Tstringlist.Create;

   teststringlist.Add('xalion');
   teststringlist.Add('红鱼儿');
   teststringlist.Add('努力的干');
   teststringlist.Add('烦人的土豪小凡');

   args[0]:=use.AsVariant(teststringlist,False)  ;

   v:=  kbmMWSimpleClient1.Request('xalion_srv','','getobj',args);

   memo1.Lines.Add(v);

   teststringlist.Free;
end;

ok, 搞定了,运行客户端。

无图无真相

可以看到,服务上正确的处理了请求并返回信息。

就是这么简单。

原文地址:https://www.cnblogs.com/xalion/p/9608790.html