前面我们讲了使用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函数原型相关推荐

  1. 用内存流 文件流 资源生成客户端(Delphi开源)

    正文: 很多木马生成器就是用的内存流和文件流生成客户端的, 废话不多说了,代码如下: unit Main; interface uses Windows, Messages, SysUtils, Va ...

  2. api函数原型大全_如何使用您的API优先平台来使原型做好生产准备

    api函数原型大全 by Mike Sedzielewski 由Mike Sedzielewski 如何使用您的API优先平台来使原型做好生产准备 (How to use your API-first ...

  3. 【Kotlin】apply 内联扩展函数 ( apply 函数原型 | apply 函数示例 | Kotlin 调用 Java API )

    文章目录 I . 内联扩展函数 apply II . Kotlin 调用 Java API III . apply 内联扩展函数示例 ( 调用 Java API 处理图像 ) I . 内联扩展函数 a ...

  4. 如何在gvim中安装autoproto自动显示函数原型

    cankao: http://www.vim.org/scripts/script.php?script_id=1553 注意, 在gvim中执行的命令, :foo和:!foo 的区别, 跟vim一样 ...

  5. 服务器响应回调函数,解决有关flask-socketio中服务端和客户端回调函数callback参数的问题(全网最全)...

    由于工作当中需要用的flask_socketio,所以自己学习了一下如何使用,查阅了有关文档,当看到回调函数callback的时候,发现文档里都描述的不太清楚,最后终于琢磨出来了,分享给有需要的朋友 ...

  6. 的函数原型_JS基础函数、对象和原型、原型链的关系

    JS的原型.原型链一直是比较难理解的内容,不少初学者甚至有一定经验的老鸟都不一定能完全说清楚,更多的"很可能"是一知半解,而这部分内容又是JS的核心内容,想要技术进阶的话肯定不能对 ...

  7. Oracle结果集缓存(Result Cache)--服务器、客户端、函数缓存

    Oracle结果集缓存(Result Cache)--服务器.客户端.函数缓存 在11g中,Oracle提供了结果集缓存特性.该缓存是在共享内存中存储全部的结果集,如果一个查询SQL被执行,且它对应的 ...

  8. javascript详解函数原型对象prototype与constructor

    1.原型模式 首先我们来谈谈prototype属性,也就是原型属性.每当我们创建一个函数时,函数内部都会自动生成一个指针(既自动生成一个属性就是我们说的prototype),这个指针指向指向原型对象, ...

  9. linux 编程函数原型与用法

    函数原型以及部分实例应用 --------------------------------------------------------------------------------------- ...

最新文章

  1. Directx教程(27) 简单的光照模型(6)
  2. java数据类型怎样理解_深入理解Java之数据类型
  3. linq判断集合中相同元素个数_JavaSe集合的概念以及集合框架介绍
  4. Cocos2dx实现象棋之布局
  5. linux-使用基础-自动补全-快捷键-历史命令-别名
  6. SpriteKit Advanced —如何构建2,5D游戏(第一部分)
  7. 一个CSharp类代码,让你的窗体显示的更酷(转)
  8. 32位与64位、单精度(single-precision)与双精度(double-precision)
  9. android listview动态添加viewpager,请教大神,android如何在viewpager里添加listview,谢谢啦...
  10. Mac 开发使用中的小技巧收集
  11. LoadRunner 中的 Unique Number 参数类型小结
  12. GZHU软件方向综合课程设计——课程管理系统(Qt+mysql)
  13. 固态硬盘 游戏测试软件,TxBENCH(SSD固态硬盘检测工具)
  14. 【JavaWeb】Http get请求乱码、post请求乱码,html页面乱码、jsp页面乱码,控制台tomcat日志乱码原因分析和解决方案
  15. 可用等式为:html+java=jsp表示jsp[8]._在 JSP 中 , 对 jsp:setProperty 标记描述正确的是 ()_学小易找答案...
  16. 基于HTML5实现五彩连珠小游戏
  17. 二维码扫码支付实现方案(仅供自己参考)
  18. uniapp 小程序支付功能
  19. XBrowser增加Jslog日志对象接口
  20. 【GNN】循序渐进认识SSL

热门文章

  1. xp还原系统显示关闭计算机,xp系统一键还原,教您xp系统怎么还原
  2. 2021-06-22Leetcode621.任务调度器
  3. Scala 提取器(Extractor)
  4. qt5 python 教材_QT5和python3结合你想不到坑
  5. 淘宝开放平台学习小结
  6. html 定义悬浮块层级,采用CSS3的动态元素(动画)设计div块的层级式展现
  7. 使用Jquery+EasyUI 进行框架项目开发案例讲解之二 用户管理源码分享
  8. 计算机专业教学大纲,计算机与信息管理专业教学大纲
  9. 港科夜闻丨香港科大校长加入“一群关注社会现况的大学校长之声明”
  10. SYN洪水攻击的原理,syn洪水攻击的解决办法