运行环境: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. Container 、Injection

    Container: Linux容器作为一类操作系统层面的虚拟化技术成果,旨在立足于单一Linux主机交付多套隔离性Linux环境.与虚拟机不同,容器系统并不需要运行特定的访客操作系统.相反,容器共享 ...

  2. Node安装及自定义config

    下载Node.js , Windows下安装一键到底, 没有什么说的. 主要是默认无法流畅使用, 包括流畅下载, 全局缓存之类. 如下是进一步设置, 包括: - 设置淘宝镜像. - 增加Yarn(np ...

  3. Java中字段、属性、成员变量、局部变量、实例变量、静态变量、类变量、常量

    首先看个例子: package zm.demo; public class Demo { private int Id;//成员变量(字段).实例变量(表示该Id变量既属于成员变量又属于实例变量) p ...

  4. Visual Studio资源汇总

    Visual Studio 2015:http://tieba.baidu.com/p/3442930798Visual Studio 2013:http://tieba.baidu.com/p/34 ...

  5. Open SuSE 安装Python3.6

    1. 下载Python3.6 tar包 去除Modules/Setup文件167行的注释 readline readline.c -lreadline -ltermcap 2. 下载readline- ...

  6. ElasicSearch(3) 安装elasticsearch-head

    https://github.com/mobz/elasticsearch-head 1.git install git 2.git clone git://github.com/mobz/elast ...

  7. Helm简介

    什么是Helm 微服务和容器化给复杂应用部署与管理带来了极大的挑战.Helm是目前Kubernetes服务编排领域的唯一开源子项目,作为Kubernetes应用的一个包管理工具,可理解为Kuberne ...

  8. 双网卡Iptables端口转发

    当前场景如下 跳板机A是双网卡,有一个内网IP和一个公网IP 内网IP: 10.0.10.30 外网IP:  58.68.255.123 内网机器:10.0.30.88,可以和10.0.10.30通讯 ...

  9. [Ting's笔记Day5]在部署到Heroku之前,将Rails项目从SQLite设定为PostgreSQL

    前情提要: Paas(平台及服务)公司Heroku是个可以把我们写好的App部署到网际网络的好地方.而本篇是我从自己的上一篇文章:将Ruby on Rails项目部署到Heroku遇到的问题,当时困扰 ...

  10. FastCGI与PHP

    什么是CGI CGI全称"通用网关接口"(Common Gateway Interface),用于HTTP服务器与其它机器上的程序服务通信交流的一种工具,CGI程序须运行在网络服务 ...