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[]); 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中向服务器端传递对象的一种简单方式的更多相关文章
- Android传递Bitmap的两种简单方式及其缺陷
Android传递Bitmap的几种简单方式 一,通过Intent的Bundle. 比如有两个activity,A,B,从A进入B.先在A中将Bitmap写进去: Resources res=getR ...
- Intent传递对象的几种方式
原创文章.转载请注明 http://blog.csdn.net/leejizhou/article/details/51105060 李济洲的博客 Intent的使用方法相信你已经比較熟悉了,Inte ...
- (转载)Java中如何遍历Map对象的4种方法
在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...
- 面向面试编程——javascript对象的几种创建方式
javascript对象的几种创建方式 总共有以下几个模式: 1.工厂模式 2.构造函数模式 3.原型模式 4.混合构造函数和原型模式 5.动态原型模式 6.寄生构造函数模式 7.稳妥构造函数模式 1 ...
- spring事务——try{...}catch{...}中事务不回滚的几种处理方式(转载)
转载自 spring事务——try{...}catch{...}中事务不回滚的几种处理方式 当希望在某个方法中添加事务时,我们常常在方法头上添加@Transactional注解 @Respon ...
- Android中Intent传递对象的两种方法(Serializable,Parcelable)
今天要给大家讲一下Android中 Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object);另一种是 Bundle.putP ...
- [转]Android中Intent传递对象的两种方法(Serializable,Parcelable)
http://blog.csdn.net/xyz_lmn/article/details/5908355 今天要给大家讲一下Android中Intent中如何传递对象,就我目前所知道的有两种方法,一种 ...
- Android高手进阶教程(十七)之---Android中Intent传递对象的两种方法(Serializable,Parcelable)!
[转][原文] 大家好,好久不见,今天要给大家讲一下Android中Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object); ...
- Android中传递对象的三种方法
Android知识.前端.后端以至于产品和设计都有涉猎,想成为全栈工程师的朋友不要错过! Android中,Activity和Fragment之间传递对象,可以通过将对象序列化并存入Bundle或者I ...
随机推荐
- c# word操作篇,解决字符串长度超过255就不能替换的问题
本文使用的是Microsoft.Office.Interop.Word组件,必须在系统安装了office相关组件的条件下进行,在com里面找到Microsoft Word 16.0 Object L ...
- 读写txt
FileStream fileStr = new FileStream("shaftCofig.txt", FileMode.OpenOrCreate); StreamReader ...
- 优秀WordPress版微信小程序推荐(二)
随着使用WordPress版微信小程序的用户越来越多,其中涌现不少优秀的小程序,无论UI设计还是功能上都远远超过我开源的程序.这次是推荐第二批优秀Wordpress版微信小程序,希望有更多的小程序的爱 ...
- [图文教程]VS2017搭建opencv & C++ 开发环境
首先从官网下载OpenCV最新版本 截至我写这文章,4.0已经发布预览版了,不过在这是没有的,只能用3.4.2: https://opencv.org/releases.html 一:安装 安装过程不 ...
- How to identify safari in Mac?
How to identify safari in Mac?in userAgent, find keywords below1) and: Macintosh, Mac OS X, AppleWeb ...
- Idea中类上有叉的解决方法
idea中类的头上出现X解决办法 ctrl+alt+s 在弹出的菜单上选择Compiler下的Excludes 右边会有 移除掉,点击ok, 重启idea就可以了
- swift kvc赋值
1定义模型属性的时候,如果是对象,通常都是可选的(在需要的时候创建,避免写构造函数,简化代码) 2如果是基本数据类型,不能设置成可选的(运行时获取不到属性),而且要设置初始值,否则KVC会崩溃 3使用 ...
- 26.Hibernate-主键和映射.md
目录 1.复合主键映射 [toc] 2.集合映射 2.1Set集合 2.2其他集合 [toc] 3.集合数据的读取 [toc] 4.一对多和多对一映射 4.1概念 4.2配置和开发 4.2.1关键点 ...
- java.lang.String (JDK1.8)
String类实现了java.io.Serializable, Comparable<String>, CharSequence这三个interface. 看了下这三个interface中 ...
- Python代码的人机大战(循环嵌套)
第一次动手写随笔,记录一下今早的1.5小时努力成果 题目是这样的 : 人和机器进行猜拳游戏写成一个类,首先选择角色:1 曹操 2张飞 3 刘备,然后选择的角色进行猜拳:1剪刀 2石头 3布 玩家输入一 ...