提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:况鱼杰|2019-10-09 16:51:10.730|阅读 515 次
概述:我们将使用服务器和客户端来构建解决方案。关于RealThinClient Components 的客户端的第一课很简单,但它展示了客户端-服务器系统背后的概念,该服务器系统可能是大型应用程序的基础。我们将使用远程功能来完成此任务。本文将会介绍编写您的第一个远程功能的第一节-服务器。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
RealThinClient SDK是用于开发标准的HTTP(S)服务器,ISAPI扩展以及客户端的VCL控件。可用于Windows下的CodeGear Delphi 6-2010。关于RealThinClient SDK的教程会持续更新,本节是RealThinClient SDK的第四课,如何从服务器发送小文件。
服务器
这是我们有关如何使用远程功能的第一个示例。基本上,我们正在使用:
rtcServerModule
rtcFunctionGroup
rtcFunction
使用这三个组件,我们可以编写可以由RTC客户端调用的函数。
步骤:
打开一个新项目
我们在IDE中打开一个新项目。
将Form1的Caption属性更改为Server for Remote Function Calls。
使用RtcHttpServer组件
从组件的面板中获取RtcHttpServer并将其拖到项目的主窗体中,然后,将其重命名为RtcHttpServer。
将RtcHttpServer1组件重命名为RtcHttpServer,在属性中,将端口设置为80。
现在,为我们的主窗体定义OnCreate事件,以使我们的RtcHttpServer组件在应用程序启动后立即开始侦听请求。
现在,我们已经配置了RtcHttpServer组件并准备接受请求。
procedure TForm1.OnCreate(Sender: TObject) begin RtcHttpServer.Listen(); end;
使用RtcServerModule和RtcFunction组件
从RTC服务器选项卡上,在窗体上放置一个RtcFunctionGroup:
将其重命名为RtcFunctionGroup对于要实现远程功能的每个窗体或模块,将使用一个FunctionGroup。所述RtcFunctionGroup组件提供访问一组远程功能。
要实现远程功能,您将至少需要一个RtcFunctionGroup组件并将一个或多个RtcFunction组件链接到该组件。功能组用于将功能调用作为来自同一组的其他功能调用的参数。RtcServerModule和RtcClientModule组件主要使用它来保存其远程功能的实现。
接下来,从RTC服务器选项卡上,在窗体上放置一个RtcServerModule。
对于RtcServerModule
设置FunctionGroup = RtcFunctionGroup
设置ModuleFileName = / mytest
设置服务器 = RtcHttpServer
ModuleFileName属性是大小写敏感的,所以记得很清楚,你在这里干什么用的,你将不得不使用完全相同的ModuleFileName在RtcClientModule组件的客户端。您将为每个要实现的功能使用一个RtcFunction组件。
所述RtcServerModule组件接受该请求,并使用TRtcFunctionGroup组件来执行接收的功能并且准备的结果。如果接收到的对象内部有函数调用,则将执行这些函数,并且生成的对象将仅包含数据。结果对象将被发送回发出请求的客户端。如果发生异常,执行将被中止,发送回客户端的对象将成为异常消息。
现在,从RTC服务器选项卡上,在窗体上放置一个RtcFunction:
设置FunctionGroup = RtcFunctionGroup
设置FunctionName = Hello
这个RtcFunction是我们的远程功能。要使用它,我们需要定义一个函数名称,将其链接到一个功能组并定义其OnExecute事件。
如果发生异常(您也可以在OnExecute事件处理程序中引发),则发出请求的客户端将因此获得异常消息。
您可以在一个请求中组合多个函数调用,或者将函数调用作为参数传递给其他函数调用。这对您实现的功能没有影响,因为在执行所有函数调用(客户端可能已将其定义为参数)之后,您的函数将始终接收纯数据。
而在串行功能的情况下调用(称为一个请求不止一个功能),如果一次调用将异常结束了,对于结果该电话将被rtc_Exception(用适当的eror消息),而任何先前的函数返回的结果并且请求的执行被中止。
编写我们的RtcFunction的OnExecute事件
procedure TForm1.HelloExecute(Sender: TRtcConnection; Param: TRtcFunctionInfo; Result: TRtcValue); begin Result.asString := 'Hello, ' + Param.asString['name'] end;
保存,编译并运行我们的项目,以检查一切是否正常。
保存该项目,将其命名为任意名称。记住这是您的Server,因此使其有意义。保存项目后,编译并运行它以检查此处是否一切正常。关闭它以创建您的客户端应用程序。
下一节我们将会接着介绍本课程的第二节-客户端,如果您有任何的建议和疑惑都可以在评论区留言,也希望感兴趣的朋友可以持续关注本教程。
如果您对想要购买正版授权RealThinClient SDK Pro,可以联系咨询相关问题。
关注慧聚IT微信公众号 ☟☟☟,了解产品的最新动态及最新资讯。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
文章转载自:本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢