第一个 macOS 64位 kbmmw 服务器
前几天,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 服务器的更多相关文章
- Windows下64位Apache服务器的安装
转自:http://www.blogjava.net/greatyuqing/archive/2013/02/13/395308.html 首先需要说明的是,Apaceh服务器没有官方的64位版本,只 ...
- 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 ...
- Ubuntu 16.04 64位 tftp服务器搭建
TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂.开销不大的文件传输服务 ...
- Centos6.2_(64位)服务器环境配置:源码编译Nginx
目标软件都指定安装目录:/apps.由于Nginx可以使用正则表达式来匹配访问路径, 要正常使用此功能就保证安装有Pcre库,如果你已经接着上一篇操作过来,就可以不用考虑这一点,因为此库已经在安装列表 ...
- CentOS6.3(64位)下安装Oracle11gR2(64)服务器
安装环境 Linux服务器:Centos6.3 64位 Oracle服务器:Oracle11gR2 64位 系统要求 1.Linux安装Oracle系统要求 系统要求 说明 内存 必须高于1G的物理内 ...
- 它来了!!!有史以来第一个64位Visual Studio(2022)预览版将在今夏发布!
美国时间2021年4月19日,微软产品研发部一位负责人Amanda Silver在其博客上发布一则<Visual Studio 2022>的消息,表示将在今年(2021年)夏天发布Visu ...
- 连接英文字符集的ORACLE和调用存储过程问题及64位服务器连接ORACLE问题
部署在IIS上的webservice连接英文字符集的ORACLE数据库出现问题“未在本地计算机上注册"MSDAORA.1"提供程序”,解决方案如下: 原因:如错误,64位系统未注册 ...
- 三道题(关于虚表指针位置/合成64位ID/利用栈实现四则运算)
第一题 C++标准中,虚表指针在类的内存结构位置没有规定,不同编译器的实现可能是不一样的.请实现一段代码,判断当前编译器把虚表指针放在类的内存结构的最前面还是最后面. 第二题 在游戏中所有物品的实例 ...
- 64位WINDOWS系统环境下应用软件开发的兼容性问题(CPU 注册表 目录)
应用软件开发的64 位WINDOWS 系统环境兼容性 1. 64 位CPU 硬件 目前的64位CPU分为两类:x64和IA64.x64的全称是x86-64,从名字上也可以看出来它和 x86是兼容的,原 ...
随机推荐
- centos6.10环境下启动多个redis实例
# 启动redis端口6379的配置 [root@newcms:/usr/local/nginx/conf]# /etc/redis.conf daemonize yes pidfile /usr/l ...
- CentOS7优化打开文件句柄数,修改MariaDB允许最大连接数、允许最大插入数据库的数据大小。
修改服务器配置:vim /etc/systemd/system.conf查找并修改下列两行的值:DefaultLimitNOFILE=1024000DefaultLimitNPROC=1024000 ...
- VC 获取系统特殊文件夹的路径如:系统目录,桌面等
转载:https://blog.csdn.net/qq_23992597/article/details/50963343 如果需要,请在StdAfx.h中添加 #include <shlobj ...
- 僵尸进程bug排除方法
多进程处理存在的问题 直接return 200 子进程 signal.signal(signal.SIGCHLD, signal.SIG_IGN) #不管子进程,不然R的多进程切图会产生僵尸进程
- 文件组 'PRIMARY' 已满 解决办法
修改一个字段类型时,报的这个错. 此时需要增加次要数据文件 次要数据文件 次要数据文件包含除主要数据文件外的所有数据文件.有些数据库可能没有次要数据文件,而有些数据库则有多个次要数据文件.次要数据文件 ...
- Flink Table Api & SQL 翻译目录
Flink 官网 Table Api & SQL 相关文档的翻译终于完成,这里整理一个安装官网目录顺序一样的目录 [翻译]Flink Table Api & SQL —— Overv ...
- win7安装 truffle
1. 最近有个项目需要用到区块链,第一次玩不太熟悉.现在电脑上安装个 truffle,作为一个区块链节点 2. 安装 truffle ,之前需要安装其他几个软件 truffle的安装需要首先装有:n ...
- Docker 两键创建 ZeroTier moon 节点
一条命令创建 ZeroTier moon 节点: $ docker run --name zerotier-moon -d -p 9993:9993 -p 9993:9993/udp seedgou/ ...
- Laravel实现from的curl文件转发
文件的使用curl分发时发现不能直接将其传入curl,需要使用CURLFile()来实现 分发类 <?php /** * 请求转发控制器 * Created by PhpStorm. * Use ...
- 百度URL参数解析
在用Python爬取百度搜索的内容时,发现百度搜索的url非常的长,往往会跟一大段的参数,但其实很多参数都是没有必要的,如同样是搜索java关键字,可以通过 http://www.baidu.com/ ...