运行环境: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[]); result:=sl.text; end;

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

就这么简单。运行即可。

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

代码一样的简单。

procedure TForm2.Button8Click(Sender: TObject);
var
args:array[..] of Variant;
v:Variant;
teststringlist:Tstringlist;
begin
teststringlist:=Tstringlist.Create; teststringlist.Add('xalion');
teststringlist.Add('红鱼儿');
teststringlist.Add('努力的干');
teststringlist.Add('烦人的土豪小凡'); args[]:=use.AsVariant(teststringlist,False) ; v:= kbmMWSimpleClient1.Request('xalion_srv','','getobj',args); memo1.Lines.Add(v); teststringlist.Free;
end;

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

无图无真相

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

就是这么简单。

kbmmw中向服务器端传递对象的一种简单方式的更多相关文章

  1. Android传递Bitmap的两种简单方式及其缺陷

    Android传递Bitmap的几种简单方式 一,通过Intent的Bundle. 比如有两个activity,A,B,从A进入B.先在A中将Bitmap写进去: Resources res=getR ...

  2. Intent传递对象的几种方式

    原创文章.转载请注明 http://blog.csdn.net/leejizhou/article/details/51105060 李济洲的博客 Intent的使用方法相信你已经比較熟悉了,Inte ...

  3. (转载)Java中如何遍历Map对象的4种方法

    在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...

  4. 面向面试编程——javascript对象的几种创建方式

    javascript对象的几种创建方式 总共有以下几个模式: 1.工厂模式 2.构造函数模式 3.原型模式 4.混合构造函数和原型模式 5.动态原型模式 6.寄生构造函数模式 7.稳妥构造函数模式 1 ...

  5. spring事务——try{...}catch{...}中事务不回滚的几种处理方式(转载)

    转载自   spring事务——try{...}catch{...}中事务不回滚的几种处理方式   当希望在某个方法中添加事务时,我们常常在方法头上添加@Transactional注解 @Respon ...

  6. Android中Intent传递对象的两种方法(Serializable,Parcelable)

    今天要给大家讲一下Android中 Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object);另一种是 Bundle.putP ...

  7. [转]Android中Intent传递对象的两种方法(Serializable,Parcelable)

    http://blog.csdn.net/xyz_lmn/article/details/5908355 今天要给大家讲一下Android中Intent中如何传递对象,就我目前所知道的有两种方法,一种 ...

  8. Android高手进阶教程(十七)之---Android中Intent传递对象的两种方法(Serializable,Parcelable)!

    [转][原文] 大家好,好久不见,今天要给大家讲一下Android中Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object); ...

  9. Android中传递对象的三种方法

    Android知识.前端.后端以至于产品和设计都有涉猎,想成为全栈工程师的朋友不要错过! Android中,Activity和Fragment之间传递对象,可以通过将对象序列化并存入Bundle或者I ...

随机推荐

  1. c# word操作篇,解决字符串长度超过255就不能替换的问题

    本文使用的是Microsoft.Office.Interop.Word组件,必须在系统安装了office相关组件的条件下进行,在com里面找到Microsoft  Word 16.0 Object L ...

  2. 读写txt

    FileStream fileStr = new FileStream("shaftCofig.txt", FileMode.OpenOrCreate); StreamReader ...

  3. 优秀WordPress版微信小程序推荐(二)

    随着使用WordPress版微信小程序的用户越来越多,其中涌现不少优秀的小程序,无论UI设计还是功能上都远远超过我开源的程序.这次是推荐第二批优秀Wordpress版微信小程序,希望有更多的小程序的爱 ...

  4. [图文教程]VS2017搭建opencv & C++ 开发环境

    首先从官网下载OpenCV最新版本 截至我写这文章,4.0已经发布预览版了,不过在这是没有的,只能用3.4.2: https://opencv.org/releases.html 一:安装 安装过程不 ...

  5. How to identify safari in Mac?

    How to identify safari in Mac?in userAgent, find keywords below1) and: Macintosh, Mac OS X, AppleWeb ...

  6. Idea中类上有叉的解决方法

    idea中类的头上出现X解决办法 ctrl+alt+s 在弹出的菜单上选择Compiler下的Excludes 右边会有 移除掉,点击ok, 重启idea就可以了

  7. swift kvc赋值

    1定义模型属性的时候,如果是对象,通常都是可选的(在需要的时候创建,避免写构造函数,简化代码) 2如果是基本数据类型,不能设置成可选的(运行时获取不到属性),而且要设置初始值,否则KVC会崩溃 3使用 ...

  8. 26.Hibernate-主键和映射.md

    目录 1.复合主键映射 [toc] 2.集合映射 2.1Set集合 2.2其他集合 [toc] 3.集合数据的读取 [toc] 4.一对多和多对一映射 4.1概念 4.2配置和开发 4.2.1关键点 ...

  9. java.lang.String (JDK1.8)

    String类实现了java.io.Serializable, Comparable<String>, CharSequence这三个interface. 看了下这三个interface中 ...

  10. Python代码的人机大战(循环嵌套)

    第一次动手写随笔,记录一下今早的1.5小时努力成果 题目是这样的 : 人和机器进行猜拳游戏写成一个类,首先选择角色:1 曹操 2张飞 3 刘备,然后选择的角色进行猜拳:1剪刀 2石头 3布 玩家输入一 ...