用Delphi创建COM+ 应用服务器

本文详细介绍了使用 Delphi 创建 COM+ 应用服务器的过程,包括实体对象的创建、数据集提供者的配置、组件接口方法的声明以及组件的安装等内容。此外,还探讨了客户端与应用层间的数据传递方式、不同数据类型的处理区别等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://hi.baidu.com/broland/blog/item/0c9bc13e8dc345c57d1e7117.html

 

用Delphi创建COM+ 应用服务器(一)
一、创建实体对象
步骤一:
New->Other->ActiveX->ActiveX Library
如图:

步骤二:
New->Other->Multitier->Transactional Data Module
如图:

步骤三:
   选择Ok 以后会弹出如下对话框:

此时你需要做的是:
CoClass Name 项输入组件的名字,
Threading Model项为组件的线程模型,一般系统默认即可。
Transaction Model 项为组件的事务模型。在实体组件中一般选支持事务,即:Support Transactions。
例如:
  

步骤四:
   接着在Transctional Data Module 里拖放一个DataSetProvider
如下:
         

DataSetProvider的作用是为客户端提供数据。而把客户端的数据传到应用服务器则用olevariant这个数据类型。
Adoconnection、Adoquery 等数据访问组件会由一个专门的数据访问类来管理。
步骤五:
  需要在数据模块的几个事件里对DataSetProvider的DataSet属性做初始化:  

OnActivate事件:
FExample.FAccess.FADOConnection.Open;
OnCreate事件:
FExample:=TExample.Create(self);
FExample.Faccess.SQL:='SELECT TOP 100 * FROM Country';
FExample.Faccess.Query;
Datasetprovider1.DataSet:=FQuote.Faccess.ADOQuery;
OnDeactivate 事件:
FExample.FAccess.FADOConnection.Close;
OnDestroy 事件:

FExample.Free;

用Delphi创建COM+ 应用服务器(二)
步骤六:
接着在类型编辑器中声明组件的接口方法,如图:
             

方法的参数在右边的编辑框中定义:

刷新后,系统自动会在单元文件中产生方法的代码框架:
就有上面的update方法的框架,Example是你自己定义的业务类。
步骤七:
   接下来就要把组件安装到系统中,在Run菜单下有个 install com+ objects 选项。
             

   弹出一对话框:
     

勾选要安装的组件,选择套件或者新建一个套件。如下:
1.选择已有的套件名称:
  

2.新建套件:
  

点击Ok后系统就会把你的组件安装到“组件服务”里了。
(组件服务是win2K管理工具)

这样一个简单的组件就完成了。

用Delphi创建COM+ 应用服务器(三)
前面讲了建立com+组件的基本过程,但是还有许多的问题等待着大家去摸索,去发现。在这里我只实现数据库的基本操作,比如:插入,删除,更新,简单查询等等。但愿能起个引导如何实做COM+服务器的作用。基本理论知识这方面的资料也有很多,我建议大家有机会看看李维先生著作的两本书:《Delphi 5.x ADO/MTS/COM+ 高级程序设计篇》和《Delphi 5.x 分布式多层应用 系统篇》。
问题:
1、          客户端与应用层是怎么传送数据的呢?
2、          简单数据以及数据记录集传送有什么区别吗?
3、          在应用服务器层又怎么解析传送的数据呢?
4、          应用服务器是怎么跟后台数据库连接的呢?
。。。。。。
一、系统框架:
二、各层主要的功能:
1、      客户端:
         主要是界面上处理,同时调用中间层的组件接口方法。在这里有一个“窗体基类”,派生了一个“明细窗体基类”。
完成通用操作以后,在下面的具体子类中只要调用不同的接口方法即可。
各个窗体的代码看起来很相似。熟了以后,你只要会复制、粘贴操作就行了。(到了这时我会觉得很无趣,不知道大家这么想)
附:
2、      查询组件:
         接收到客户端的一些查询条件,通过业务组件里的数据提供者得到数
据以后,返回给客户端。具体代码如下:
3、      更新组件: 完成对插入,删除,更新等数据操作的接口方法。
4、      业务组件:
        主要是管理实体与数据表之间的映射关系。(实体基类略)
5、 数据访问组件:
主要封装了一些数据库访问组件,及一些方法。(相关类见http://expert.youkuaiyun.com/Expert/topic/2065/2065430.xml?temp=.4066889)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值