前几天,Delphi 10.3.2 正式发布,这个小版本升级却增加了一个非常大的平台支持,增加了

macos 64位的支持,今天做一个macOS 64位的kbmmw应用,让kbmmw 服务器的应用更广泛。

当然了,你需要先根据要求,设置好相关的·macos64 的开发环境。

首先我们新建一个FMX 应用。

设置对应的参数

procedure TForm2.Button1Click(Sender: TObject);
begin
kbmmwserver1.AutoRegisterServices;
kbmmwserver1.Active:=true;
end;

平台上添加mac os64

新建一个kbmmw 服务。

服务名设为mactest,生成一个服务,并修改代码如下:

type

  [kbmMW_Service('name:mactest, flags:[listed]')]
[kbmMW_Rest('path:/mactest')]
// Access to the service can be limited using the [kbmMW_Auth..] attribute.
// [kbmMW_Auth('role:[SomeRole,SomeOtherRole], grant:true')] TkbmMWCustomHTTPSmartService1 = class(TkbmMWCustomHTTPSmartService)
private
{ Private declarations }
protected
{ Protected declarations }
public
{ Public declarations }
// HelloWorld function callable from both a regular client,
// due to the optional [kbmMW_Method] attribute,
// and from a REST client due to the optional [kbmMW_Rest] attribute.
// The access path to the function from a REST client (like a browser)+
// is in this case relative to the services path.
// In this example: http://.../mactest/helloworld
// Access to the function can be limited using the [kbmMW_Auth..] attribute.
// [kbmMW_Auth('role:[SomeRole,SomeOtherRole], grant:true')]
[kbmMW_Rest('method:get, path:helloworld')]
[kbmMW_Method]
function HelloWorld:string; [kbmMW_Method]
function version:string; [kbmMW_Method]
function EchoString(const AString:string):string; [kbmMW_Method]
function AddNumbers(const AValue1,AValue2:integer;
[kbmMW_Arg(mwatRemoteLocation)]
const ARemoteLocation:string
):integer ; end; implementation {%CLASSGROUP 'System.Classes.TPersistent'} uses kbmMWExceptions, mainp; {$R *.dfm} // Service definitions.
//--------------------- function TkbmMWCustomHTTPSmartService1.AddNumbers(const AValue1,
AValue2: integer; const ARemoteLocation: string): integer;
begin
Result:=AValue1+AValue2;
end; function TkbmMWCustomHTTPSmartService1.EchoString(
const AString: string): string;
begin
Result:=AString;
end; function TkbmMWCustomHTTPSmartService1.HelloWorld:string;
begin
Result:='Hello world';
end; function TkbmMWCustomHTTPSmartService1.version: string;
begin
result:='kbmmw server for macos 64';
end; initialization
TkbmMWRTTI.EnableRTTI(TkbmMWCustomHTTPSmartService1);
end.

服务端做好了

我们可以运行了。

现在做一个简单客户端

设置对应的代码

procedure TForm1.Button1Click(Sender: TObject);
var
c:IkbmMWSmartClient;
s:string; begin
Transport.Host:=eIP.Text; // Get a client which establishes connection over the given transport
// to the given service which is set to be default for this client.
c:=TkbmMWSmartRemoteClientFactory.GetClient(Transport,'MACTEST'); s:=c.Service. helloworld ;
memo1.Lines.Add(s);
s:=c.Service.EchoString('abc');
memo1.Lines.Add(s);
s:=c.Service.version;
memo1.Lines.Add(s);
s:=c.Service.AddNumbers(,);
memo1.Lines.Add(s); end;

运行客户端

正确运行。

基本上比较顺利。

第一个 macOS 64位 kbmmw 服务器的更多相关文章

  1. Windows下64位Apache服务器的安装

    转自:http://www.blogjava.net/greatyuqing/archive/2013/02/13/395308.html 首先需要说明的是,Apaceh服务器没有官方的64位版本,只 ...

  2. 64位Navicat Premium-11.2.7(64bit)访问64位Oracle服务器

    1 在windows 10 64位操作系统安装Navicat Premium-11.2.7(64bit). 2 在服务器安装64位的Oracle(win64_11gR2_database). 3 在h ...

  3. Ubuntu 16.04 64位 tftp服务器搭建

    TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂.开销不大的文件传输服务 ...

  4. Centos6.2_(64位)服务器环境配置:源码编译Nginx

    目标软件都指定安装目录:/apps.由于Nginx可以使用正则表达式来匹配访问路径, 要正常使用此功能就保证安装有Pcre库,如果你已经接着上一篇操作过来,就可以不用考虑这一点,因为此库已经在安装列表 ...

  5. CentOS6.3(64位)下安装Oracle11gR2(64)服务器

    安装环境 Linux服务器:Centos6.3 64位 Oracle服务器:Oracle11gR2 64位 系统要求 1.Linux安装Oracle系统要求 系统要求 说明 内存 必须高于1G的物理内 ...

  6. 它来了!!!有史以来第一个64位Visual Studio(2022)预览版将在今夏发布!

    美国时间2021年4月19日,微软产品研发部一位负责人Amanda Silver在其博客上发布一则<Visual Studio 2022>的消息,表示将在今年(2021年)夏天发布Visu ...

  7. 连接英文字符集的ORACLE和调用存储过程问题及64位服务器连接ORACLE问题

    部署在IIS上的webservice连接英文字符集的ORACLE数据库出现问题“未在本地计算机上注册"MSDAORA.1"提供程序”,解决方案如下: 原因:如错误,64位系统未注册 ...

  8. 三道题(关于虚表指针位置/合成64位ID/利用栈实现四则运算)

    第一题 C++标准中,虚表指针在类的内存结构位置没有规定,不同编译器的实现可能是不一样的.请实现一段代码,判断当前编译器把虚表指针放在类的内存结构的最前面还是最后面.  第二题 在游戏中所有物品的实例 ...

  9. 64位WINDOWS系统环境下应用软件开发的兼容性问题(CPU 注册表 目录)

    应用软件开发的64 位WINDOWS 系统环境兼容性 1. 64 位CPU 硬件 目前的64位CPU分为两类:x64和IA64.x64的全称是x86-64,从名字上也可以看出来它和 x86是兼容的,原 ...

随机推荐

  1. 解决pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installed or it's not in your path问题

    解决方案: 找到python的安装路径下的pytesseract:   例如我的是  C:\develop\Python\Lib\site-packages\pytesseract .用文本编辑器打开 ...

  2. Idea导入maven项目没有识别

    选中module的pom.xml,右键,选择" add as maven project",idea会识别该pom的项目  

  3. 测试面试题集锦----liunx与网络

    国庆完后就回深圳了,所以也要参加面试了,我大概收集了一些感觉可能会面试到的一些笔试题,给大家参考,答案不一定全对,分为liunx ,网络,mysql,编程题,我分别按分类补充,以后在继续补充 liun ...

  4. xml 3 字节的 UTF-8 序列的字节 3 无效

    今天在eclipse中编写**.xml文件时,注释中的中文被eclipse识别到错误:3 字节的 UTF-8 序列的字节 3 无效,曾多次遇到该问题,问题的根源是: The cause of this ...

  5. 超级简单,把PuppyLinux安装到U盘

    先说说使用感受:上网全是乱码!不支持中文 下载最新版puppylinux,从官网下载 现在U盘引导程序制作工具Unetbootin 打开下载的UNetbootin,进行下面的操作: 制作完毕后,修改U ...

  6. css3写下雨效果

    css3写下雨效果<pre><div class="xiayuxiaoguo"></div></pre> <pre>.x ...

  7. BFS --- 素数环

    <传送门> [题目大意]对话很坑爹,不过很有意思,直接看题干就可以了.给你两个四位数a和b,现在要你从a经过变换得到b,并且变换的中间的每一位都要是素数,并且相邻两个素数之间只能有一个位不 ...

  8. Word 插入页码 -- 视频教程(7)

    1. 以本科做的一个课程设计为例 >> 视频教程链接:B站,速度快,清晰 未完 ...... 点击访问原文(进入后根据右侧标签,快速定位到本文)

  9. Delphi百度文字识别【支持通用文字识别、身份证识别、银行卡识别、驾驶证识别、行驶证识别、车牌识别等功能】

    作者QQ:(648437169) 点击下载➨Delphi百度文字识别          百度api文档 [Delphi百度文字识别]支持 通用文字识别.通用文字识别(高精度版).通用文字识别(含位置信 ...

  10. mybatis逆向生成dao mapper和example.java文件

    mabatis插件 <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>myba ...