网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Delphi
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.串口通讯应用程序的解决方案.
.progressbar的填充颜色的改变.
.Delphi控件制作技巧[二].
.Delphi与Word之间的融合技术.
.区分保留字跟关键字.
.安装程序打包interbase的方法.
.如何将C/C++程序转译成Delphi(五).
.扫雷外挂的设计与实现(五).
.在Delphi中使用指针参数.
.Delphi在MDI窗口中显示图形控件及.
.QQ聊天记录器演示程序(二).
.程序关联实现.
.基本图象处理代码(3).
.用Delphi实现文件下载的几种方法.
.最好的数据导出组件SMExport.
.GetPartFilter+SumStocklist.
.Windows的DDE原理.
.Delphi下的接口编程学习笔记(原.
.Delphi的Hint(1).
.绑架窗体之Delphi版.

使用COM+参数化对象结构编程技术

发表日期:2006-2-4


一、引言
COM+ 服?占夹g的一??核心理念就是系?y本身提供完成?S多面向企?I??用?_?l者的通用基本模?M(如??程

、物件?Y源池管理、事?辗??展芾怼⑹录?服?展芾淼龋?,??系?y?O??人?T把精力集中在企?I??用本身的?I??

????上。
COM+提供了?S多新的服?蘸鸵恢碌墓芾磉行?h境,它??支援申明性??程模型(declarative programming

model),也就是?f,?_?l人?T可以按?M可能通用的方式?_?l元件程式,把一些????留到配置?r刻再?_定。例

如,在?_?l一??COM+元件,它支援事?仗?理特性,但是我??在?_?l元件的?r候,?K不?_定它是否使用事?仗?

理特性,而把是否支援事?仗?理特性留待配置?r刻再作?Q定。有的??用可能??需要事?仗?理特性,而有的??

用可能?K不需要,我??可以通?^COM+管理程式配置元件的?傩????Q定元件是否支援事?仗?理特性。MTS安全模

型???H上是一??典型的申明性??程技?g,它把元件的安全角色?Y??留到配置?r刻再?o出?_切的定?x,而非??

程?r刻。COM+?^承了MTS的安全模型。
利用COM+的服?蘸凸芾砉ぞ撸??_?l一??COM+元件要比?_?l一??COM元件容易得多,因??COM+元件???H上是

建立在COM+系?y服?栈??A上的??用程式,我??可以避免底?臃爆?的??????理,如多??程的?K?l??理。通?^

COM+系?y服?眨?在?@得可靠性的同?r,也使的元件和??用程式更??於???驶?,在更?V泛的?????润w?F元件或

者??用的多?B性。
COM+ 的推出终于有机的统一了 COM/DCOM/MTS 的编程模式,使得我们不需要区分我们编写的是什么类型

的COM 对象,所编写的对象既是 COM 对象也是 COM+对象;在 COM+ 中物件?h境和截取(intercept) 技?g都

被合?愕????实? COM代理/存根中,所以可以通?^???实? CoCreateInstance 方法????建物件,?K且通?^

CreateInstance方法??建的MTS 元件同?涌梢栽?COM+ 正常?行和完全相容。

二、参数化 COM+ 对象结构
在COM+ 中引入了许多新的服务何功能,参数化对象结构就是其中一项功能。本功能是用来实现为COM+对

象创建提供一个字串参数,组件对象通过IObjectConstruct接口来查询管理员配置的字串参数。参数化对象

结构的一个典型用途就是可以应用到程序中作为 ADO 的连接字串参数。
IObjectConstruct 让的方法或对象通过参数来控制相关对象处理功能,我们必须使用接口对象来实现此

接口,当管理员将组件对象的对象结构配置参数设置有效后,COM+ 将调用 IObjectConstruct.Construct 通

过IObjectConstructString来获取参数化 COM+ 对象结构中的字串参数。
IObjectConstructString 接口用来存取建立者字符串。本对象是一个Automation COM 对象,但无须通

过接口对象来实现他,COM+ 支持在调用 IObjectConstruct.Construct 时暴露此对象。
如何为元件输入对象结构字串。
1、在组件管理器中选取相应的组件,右键弹出快捷菜单,然后点击属性
2、在组件属性对话框,点击激活属性页。
3、使能对象结构,输入建立者字符串(例如一个 ADO 连接字串)。

三、程序实现

实现COMPlusServer

1、Import Type library->COM+ Services Type Library->Create Unit
2、建立一个新的 ActiveX Library Project
3、创建一个新的 MTS Data Module
4、到 Type Library 中选取 Project->Uses->点击右键选择 Show All Type Library->选择COM+

Services Type Library
5、选择 COM 的接口对象->Implements->点击右键选择 Insert Interface ->IObjectConstruct
6、在接口中定义一个新的的方法-> GetConString
7、到组件对象实现单元中实现以下代码:
private
{ Private declarations }
objSonStr: IObjectConstructString;
StrDemo: WideString;

function TXXXServer.Construct(const pCtorObj: IDispatch): HResult;
begin
pCtorObj.QueryInterface(IID_IObjectConstructString, objSonStr);
StrDemo := objSonStr.Get_ConstructString;
end;

procedure TXXXServer.GetConString;
begin
if trim(StrDemo) = ' then
ShowMessage('没有字串')
else
ShowMessage(StrDemo);
end;

客户端程序
客户端程序是最一般化的 Delphi 代码:
procedure TForm1.Button1Click(Sender: TObject);
begin
DCOMConnection1.AppServer.GetConString;
end;
上一篇:如何在Delphi中实现ASP编程 人气:3898
下一篇:能够处理任何数据库字段的Panel 人气:4052
浏览全部Delphi的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐