RemObjectsSDK-快速建立服务端_第1页
RemObjectsSDK-快速建立服务端_第2页
RemObjectsSDK-快速建立服务端_第3页
RemObjectsSDK-快速建立服务端_第4页
RemObjectsSDK-快速建立服务端_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

RemObjects SDK - 快速建立服务端RO05 如何创建RemObjects SDK服务(Delphi Version)本文档向你展示如何使用RemObjects(Delphi版)创建第一个服务.读了本文档后你可以继续读相关文档:RO06:如何创建RemObjects客户端(Delphi版).注意:如果你安装了.NET版请看RO45和RO46.你可以把本文档当作一个范例并牢记创建步骤.本文相关项目完整代码在文档底部有下载连接.选择服务类型第一步主要是选择一个你要创建的服务类型. 在Delphi IDE中点击File | New | Other切换到RemObjects SDK标签.如下图(随着Delphi,Windows版本不同可能有些出入):本例我们创建一个简单的VCL Standalone可执行服务.这是最简单的一种服务,不需要任何Web服务和其他配置就可以运行. 选择VCL Standalone点击OK.选择项目选项接下来的对话框中输入项目的基础选项如项目名称和项目路径.关于更多有关Message类型信息请见RO07: Smart Services 按Ctrl-F9编辑项目.RemObjects SDK代码生成器按F9后会弹出一个对话框,选择提供服务的类.注意:1)如果已经安装了Hydra,会看到Hydra Autoupdate Service选项2)最后两个选项只有安装了Data Abstract才会出现. 点击OK继续编译.完成后,项目将生成一个新单元(如下图),并且屏幕下部的出现一个小窗口(D6)或在消息面板上显示生成代码信息(D7).在后台,RemObjects预处理程序分析NewLibrary.rodl文件(在创建项目的时候生成的).预处理程序寻找没有实现单元的服务,并为其创建实现单元.生成了三个文件:1.NewLibrary_Invk.pas:包含所有内部调用代理.在每次编译都重新生成,只用于服务端.2.NewLibrary_Intf.pas:用于服务端和客户端的服务接口.再次提示,这是根据需要自动生成的文件,在上面所做的修改可能会被覆盖.3.NewService_Impl.pas:包含服务的实现,在此输入我们的逻辑代码.与其它两个文件不同这个文件不自动生成.如果你更新了服务(例如通过菜单RemObjects SDK | Edit Service Library如下图),编译后将报缺少方面的错误.将接口的声明函数拷贝到类中并按下Ctrl+Shift+C自动增加实现部分. 选择NewService_Impl.pas单元完成Sum方法和GetServerTime方法:functionTNewService.Sum(constA: Integer;constB: Integer): Integer;beginresult := A + B;end;functionTNewService.GetServerTime: DateTime;beginresult := Now;end; 按f9(或选择RemObjects SDK | LaunchServer Executable菜单)启动服务.测试服务现在服务已经运行了,我们来测试一下.打开IE浏览器录入如下URL:http:/localhost:8099/BIN将出现XML文档:OK!服务成功运行并可以用于RO客户端了.我们只是进行了对实际逻辑的编码.注意:如果你的浏览器没有显示上图的XML文档,或许忘记将ROServer.Active设置为TRUE或输入URL错误了.附加打开项目目录,可以看到NewLibrary.rodl文件,其中内容由Service Builder工具维护. 在Delphi中,点击RemObjects SDK| Service Builder.RemObjects的Service Builder将启动并加载NewLibrary.rodl文件.在这个工具中可以向服务中增加方法并自动修改NewLibrary.rodl文件. Sum和GetServertime方法是每个RO服务项目生成时自动产生的默认方法.提示:这些方法是RO早期为便于新手学习加入的.你如果想修改这个行为也很简单.在Windows资源管理器中,找到./ RemObjects SDK for Delphi/Templates目录双击$svclibname.rodl文件.将调用Service Builder,从中删除掉这两个方法.现在需要创建调用这个服务的客户端了,见RO06. 如下图设置Project Folder和Project Nameas shown below (当然你也可以根据需要设置其他值) :提示:向导已经为我们自动的将Message组件关联到了ROServer组件的Disneypatchers集合属性中了.如果要添加不同的Message组件,要保证将其关联到ROServer的Dispatcher项:注意:1)新服务向导勾选框:本对话框中也将用于DA中.这时,第二个勾选框将可用,便于控制DA服务向导.当直接从RO启动时这个勾选框总是不可用的.2)高级项目选项:允许更精细的控制生成代码.最希望修改的是服务库名称(Service Library Name)(默认= NewLibrary)和服务类(Server Class)(NewService).如果你的服务不是为RO客户端创建的,可能你希望修改Message Class为SOAP, XML-RPC或PostMessage(默认是高效的BinMessage).基于本文档的目的,我们保持高级项目选项的默认设置. 不勾选Also create a matching client application and a project group(同时生成匹配的客户端程序和一个项目组)通常,你希望直接创建客户端应用程序,但是你也需要知道如何创建简单的客户端应用,相应的我们将在RO06中展

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论