kbmmw中向服務器端傳遞對象的一種簡單方式

運行環境:delphi 10.2+kbmmw 5.6.20服務器

 

在kbmmw 的老版本中,要向服務器傳送一個本地的對象,通常都須要進行一些轉換,例如經過序列化的方式。spa

在新版的kbmmw中這一切都變的很簡單,使用use... 方法就能夠了,很是的方便,下面就簡單的說一下。code

首先無論是在客戶端和服務端都要引用kbmMWSmartUtils 這個單元。orm

首先咱們作服務器端。對象

在服務器端作一個處理過程blog

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 處理。而後返回其內容。get

就這麼簡單。運行便可。string

如今再在客戶端寫對應的請求過程。it

代碼同樣的簡單。io

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, 搞定了,運行客戶端。

無圖無真相

能夠看到,服務上正確的處理了請求並返回信息。

就是這麼簡單。

相關文章
相關標籤/搜索