运行环境:delphi 10.2+kbmmw 5.6.20
在kbmmw 的老版本中,要向服务器传送一个本地的对象,一般都需要进行一些转换,例如通过序列化的方式。
在新版的kbmmw中这一切都变的很简单,使用use... 方法就可以了,非常的方便,下面就简单的说一下。
首先不管是在客户端和服务端都要引用kbmMWSmartUtils 这个单元。
首先我们做服务器端。
在服务器端做一个处理过程
function Txalionsrv.Performgetobject(ClientIdent: TkbmMWClientIdentity;const Args: array of Variant): Variant;varsl:Tstringlist;beginsl:= use.AsObject<Tstringlist>(args[0]);result:=sl.text;end;
这个意思就是把客户端传上来的对象当作Tstringlist 处理。然后返回其内容。
就这么简单。运行即可。
现在再在客户端写对应的请求过程。
代码一样的简单。
procedure TForm2.Button8Click(Sender: TObject); varargs:array[0..1] of Variant;v:Variant;teststringlist:Tstringlist; beginteststringlist:=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, 搞定了,运行客户端。
无图无真相
可以看到,服务上正确的处理了请求并返回信息。
就是这么简单。