组件技术在Delphi中的实现(1)

中关村翡翠教育

中关村翡翠教育

2016-01-29 14:14

组件技术在Delphi中的实现(1),组件技术在Delphi中的实现(1)
 

  
  组件技术是新一代软件技术发展的标志,作为著名的RAD开发工具,Delphi可以轻松地实现组件的开发。本文将详细介绍Delphi中DCOM/CORBA的实现步骤。
  ■创建应用服务器
  要创建一个多层Client/Server应用程序,首先要创建应用服务器,然后注册或安装应用服务器,只有应用服务器已注册并且正在运行的情况下,才能创建客户程序。对于客户程序来说,既可以在设计期连接应用服务器,也可以在运行期连接应用服务器。注意:如果客户程序与应用服务器不在同一个系统中,必须在客户计算机上注册或安装应用服务器,这样,在设计期就可以连接应用服务器。创建应用服务器的一般步骤是:
  1.使用File选单上的New Application命令开始一个新项目,然后使用File选单上的New命令,选取Multi页。如果通过DCOM方式访问服务器,则选择远程数据模块“Remote Data Module”;如果通过CORBA方式访问服务器,则选择CORBA数据模块“CORBA Data Module”。
  2.把一个数据集构件,如TTable、TQuery或TStoredProc放到远程数据模块上并进行相关设置,使得它们能访问远程的SQL数据库。注意尽量不要把TDatabase构件放到远程数据模块上,因为这可能引起名称冲突,如果需要用TDatabase构件来连接SQL数据库,建议把TDatabase构件放到另一个数据模块上,然后引用这个数据模块的单元文件。
  3.把TDataSetProvider或TProvider构件放到远程数据模块上,有一个数据集构件,就要有一个TDataSetProvider或TProvider构件与之对应。然后,用鼠标右键单击TDataSetProvider或TProvider构件,在弹出的选单中选择“ExportFrom in Data Module”命令,这是为了引出IProvider接口,在类型库中注册。
  4.设置TDataSetProvider或TProvider构件的DataSet属性指定要访问的数据库,实际上就是第二步所放的数据集构件。
  5.编写代码,实现规则。
  6.保存、编译、注册并安装应用服务器。对于DCOM协议而言,应用服务器就好像一个自动化服务器一样,必须像ActiveX或COM服务器那样注册。如果使用CORBA,可以不注册,但最好注册。如果要使客户程序对服务器接口的调用在运行期是动态确定的,就要在接口库(Interface Repository)中安装服务器的接口。如果要使客户程序能自动激活应用服务器(如果还没有运行的话),应用服务器就必须用OAD(Object Activation Daemon)进行注册。
  7.如果应用服务器没有使用DCOM,必须安装有关的运行期软件,因为其他连接方式需要这些运行期软件的支持。对于CORBA来说,需要安装VisiBroker ORB。
  ■远程数据模块
  应用服务器的关键部件是远程数据模块。Delphi 4支持三种类型的远程数据模块,分别是TRemoteDataModule、TMTSDataModule和TCorbaDataModule。其中TRemoteDataModule在生成DCOM应用时加入,在设置其属性的“Remote Data Module Wizard”对话框中,在“Class Name”框内键入远程数据模块的类名,不必以T打头。Delphi 将以此名生成一个TRemoteDataModule的派生类,并以此名生成有关接口。在“Threading Model”框内选择一种线程模式,在“Instancing”框内选择是否根据客户的请求生成远程数据模块的多个实例。
  在CORBA应用中,要加入一个TCorbaDataModule类型的远程数据模块,在“CORBA Data Module Wizard”对话框中需要在“Class Name”框内键入远程数据模块的类名, Delphi将生成一个TCorbaDataModule的派生类,并以此名生成有关接口。在“Threading Model”框内选择一种线程模式。在“Instancing”框内指定应用服务器怎样创建远程数据模块的实例,可以选“Shared Instance”或者“Instance-Per-Client”。如果选“Shared Instance”,应用服务器只创建远程数据模块的一个实例来处理所有客户的请求。如果选“Instance-Per-Client”,每当一个客户试图连接时,远程数据模块都会生成一个实例,只要客户与应用服务器的连接没有断开,远程数据模块的实例就一直存在。 [next]

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)

  
  ■创建客户程序
  下面我们将开始设计客户端程序。创建客户程序的一般步骤是:
  1.使用“File”选单上的“New Application”命令开始一个新的项目,然后使用“File”选单上的“New”命令,再双击“Data Module”图标加入一个数据模块。
  2.把一个或几个MIDAS连接构件如TDCOMConnection、TCorbaConnection、TRemoteServer或TMIDASConnection加到数据模块上。至于究竟选择哪一种MIDAS连接构件,这取决于通讯协议。
  3.设置有关属性指定和连接应用服务器,这与具体的MIDAS连接构件有关。
  4.把一个或几个TClientDataSet构件放到数据模块上,设置RemoteServer属性指定一个MIDAS连接构件,设置ProviderName属性指定应用服务器上的TDataSetResolver 或TProvider构件,这样,客户程序就可以通过IProvider接口与应用服务器通讯。
  5.把一个TDataSource构件放到数据模块上,设置它的DataSet属性指定TClie

展开更多 50%)
分享

猜你喜欢

组件技术在Delphi中的实现(1)

Delphi
组件技术在Delphi中的实现(1)

在DELPHI中利用API实现网格内组件的嵌入

Delphi
在DELPHI中利用API实现网格内组件的嵌入

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

在Delphi的DBGrid中插入其他可视组件

编程语言 网络编程
在Delphi的DBGrid中插入其他可视组件

Delphi中实现多线程同步查询(1)

Delphi
Delphi中实现多线程同步查询(1)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

软件换肤技术在 BCB 中的实现

C语言教程 C语言函数
软件换肤技术在 BCB 中的实现

怎样在DELPHI中实现文件切割/组合

Delphi
怎样在DELPHI中实现文件切割/组合

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

打造超酷的PHP数据饼图

打造超酷的PHP数据饼图

DELPHI下汉字输入法的编程及使用(1)

DELPHI下汉字输入法的编程及使用(1)
下拉加载更多内容 ↓