使用kbmmw 生成客户端delphi函数原型
前面我们讲了使用swagger 生成java,php 的客户端调用函数原型。
对于delphi,其实很遗憾,不能直接生成客户端函数原型代码。
不要紧,解铃还须系铃人,既然是kbmmw 自己生成的,我们就自产自销,
为kbmmw 客户端生成函数原型。也为我们前面说的双引擎提供服务。
闲话少说。
很简单
[kbmMW_Rest('method:get, path: "delphi", responseMimeType:"text/plain"')]function DelphiAPI:string;
function TkbmMWCustomHTTPSmartService1.DelphiAPI: string;varunitName:string;begin//Return Delphi client stub unit for all methods in this service marked with//kbmMW_Method attribute.//Add 'servers: [ "url1", "url2",.. "urln" ]' to ASettings if you want to//embed server location information in the comments of the returned unit.Result:=TkbmMWSmartDelphiStubGenerator.GenerateDelphi('',self,unitName);SetResponseFileName(unitName);end;
编译,运行。
在浏览器里面输入http://127.0.0.1/xalionrest/delphi
看看我们的函数原型都出来了。
我们把这个文件保存成pas 文件,放到客户端目录。
打开客户端工程。加入生成的单元。
客户端调用代码就非常简单了。
procedureTForm1.Button1Click(Sender: TObject);varc:IkbmMWSmartClient;ca:TkbmMWSmartClientCaller;s:string;xalionrest: TXALIONREST;beginTransport.Host:=eIP.Text;xalionrest:= TXALIONREST.Create( Transport);s:=xalionrest.EchoString('abc');memo1.Lines.Add('EchoString(''abc'')='+s );s:=xalionrest.version;memo1.Lines.Add('version='+s );s:=xalionrest.AddNumbers(34,7);memo1.Lines.Add('AddNumbers(34,7)='+s );xalionrest.Free;end;
还是那么的完美。
我们还可以使用客户端访问服务器端的数据库服务
procedureTForm1.Button2Click(Sender: TObject);varxalionrest: TXALIONREST;beginTransport.Host:=eIP.Text;xalionrest:= TXALIONREST.Create( Transport);trymt:=xalionrest.querytable('customer','');mt.Active:=True;datasource1.DataSet:=mt;finallyxalionrest.Free;end;end
运行结果
显示服务端图像
procedureTForm1.BitBtn1Click(Sender: TObject);varc:IkbmMWSmartClient;s:string;xalionrest: TXALIONREST;b:Tbytes;NewG: TJPEGImage;bs:Tbytesstream;beginTransport.Host:=eIP.Text;xalionrest:= TXALIONREST.Create( Transport);tryb:=xalionrest.GetImage('Boa') ;bs:=Tbytesstream.Create(b);newg:=TJPEGImage.Create;newg.LoadFromStream(bs);image1.Picture.Graphic.Free;image1.Picture.Graphic:=newg;finallybs.Free;newg.Free;xalionrest.Free;end;end;
不能再简单了,否则大家就要失业了。
转载于:https://www.cnblogs.com/xalion/p/10320313.html
使用kbmmw 生成客户端delphi函数原型相关推荐
- 用内存流 文件流 资源生成客户端(Delphi开源)
正文: 很多木马生成器就是用的内存流和文件流生成客户端的, 废话不多说了,代码如下: unit Main; interface uses Windows, Messages, SysUtils, Va ...
- api函数原型大全_如何使用您的API优先平台来使原型做好生产准备
api函数原型大全 by Mike Sedzielewski 由Mike Sedzielewski 如何使用您的API优先平台来使原型做好生产准备 (How to use your API-first ...
- 【Kotlin】apply 内联扩展函数 ( apply 函数原型 | apply 函数示例 | Kotlin 调用 Java API )
文章目录 I . 内联扩展函数 apply II . Kotlin 调用 Java API III . apply 内联扩展函数示例 ( 调用 Java API 处理图像 ) I . 内联扩展函数 a ...
- 如何在gvim中安装autoproto自动显示函数原型
cankao: http://www.vim.org/scripts/script.php?script_id=1553 注意, 在gvim中执行的命令, :foo和:!foo 的区别, 跟vim一样 ...
- 服务器响应回调函数,解决有关flask-socketio中服务端和客户端回调函数callback参数的问题(全网最全)...
由于工作当中需要用的flask_socketio,所以自己学习了一下如何使用,查阅了有关文档,当看到回调函数callback的时候,发现文档里都描述的不太清楚,最后终于琢磨出来了,分享给有需要的朋友 ...
- 的函数原型_JS基础函数、对象和原型、原型链的关系
JS的原型.原型链一直是比较难理解的内容,不少初学者甚至有一定经验的老鸟都不一定能完全说清楚,更多的"很可能"是一知半解,而这部分内容又是JS的核心内容,想要技术进阶的话肯定不能对 ...
- Oracle结果集缓存(Result Cache)--服务器、客户端、函数缓存
Oracle结果集缓存(Result Cache)--服务器.客户端.函数缓存 在11g中,Oracle提供了结果集缓存特性.该缓存是在共享内存中存储全部的结果集,如果一个查询SQL被执行,且它对应的 ...
- javascript详解函数原型对象prototype与constructor
1.原型模式 首先我们来谈谈prototype属性,也就是原型属性.每当我们创建一个函数时,函数内部都会自动生成一个指针(既自动生成一个属性就是我们说的prototype),这个指针指向指向原型对象, ...
- linux 编程函数原型与用法
函数原型以及部分实例应用 --------------------------------------------------------------------------------------- ...
最新文章
- Directx教程(27) 简单的光照模型(6)
- java数据类型怎样理解_深入理解Java之数据类型
- linq判断集合中相同元素个数_JavaSe集合的概念以及集合框架介绍
- Cocos2dx实现象棋之布局
- linux-使用基础-自动补全-快捷键-历史命令-别名
- SpriteKit Advanced —如何构建2,5D游戏(第一部分)
- 一个CSharp类代码,让你的窗体显示的更酷(转)
- 32位与64位、单精度(single-precision)与双精度(double-precision)
- android listview动态添加viewpager,请教大神,android如何在viewpager里添加listview,谢谢啦...
- Mac 开发使用中的小技巧收集
- LoadRunner 中的 Unique Number 参数类型小结
- GZHU软件方向综合课程设计——课程管理系统(Qt+mysql)
- 固态硬盘 游戏测试软件,TxBENCH(SSD固态硬盘检测工具)
- 【JavaWeb】Http get请求乱码、post请求乱码,html页面乱码、jsp页面乱码,控制台tomcat日志乱码原因分析和解决方案
- 可用等式为:html+java=jsp表示jsp[8]._在 JSP 中 , 对 jsp:setProperty 标记描述正确的是 ()_学小易找答案...
- 基于HTML5实现五彩连珠小游戏
- 二维码扫码支付实现方案(仅供自己参考)
- uniapp 小程序支付功能
- XBrowser增加Jslog日志对象接口
- 【GNN】循序渐进认识SSL
热门文章
- xp还原系统显示关闭计算机,xp系统一键还原,教您xp系统怎么还原
- 2021-06-22Leetcode621.任务调度器
- Scala 提取器(Extractor)
- qt5 python 教材_QT5和python3结合你想不到坑
- 淘宝开放平台学习小结
- html 定义悬浮块层级,采用CSS3的动态元素(动画)设计div块的层级式展现
- 使用Jquery+EasyUI 进行框架项目开发案例讲解之二 用户管理源码分享
- 计算机专业教学大纲,计算机与信息管理专业教学大纲
- 港科夜闻丨香港科大校长加入“一群关注社会现况的大学校长之声明”
- SYN洪水攻击的原理,syn洪水攻击的解决办法