收藏 分享(赏)

COM和ActiveX控件设计.ppt

上传人:gnk289057 文档编号:7972801 上传时间:2019-06-01 格式:PPT 页数:28 大小:884KB
下载 相关 举报
COM和ActiveX控件设计.ppt_第1页
第1页 / 共28页
COM和ActiveX控件设计.ppt_第2页
第2页 / 共28页
COM和ActiveX控件设计.ppt_第3页
第3页 / 共28页
COM和ActiveX控件设计.ppt_第4页
第4页 / 共28页
COM和ActiveX控件设计.ppt_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、COM和ActiveX控件设计,第四章,2,回顾,程序设计的模块化已经成为一种普遍的认识,并且几乎所有的开发工具或者程序设计技术都为之提供了直接或者间接的支持; MSF体系结构为应用程序模型提供的三组服务是: 用户服务业务服务和数据服务 程序代码分层实现是为了增强程序的可维护性和可扩充性; 分层结构的一个模型是:除了根据实体对象进行程序的横向划分之外,在纵向上,可以按照界面层、数据处理层和数据访问层来规划程序的结构; 类模块包含类的定义,包括其属性和方法定义; 为实现界面层和数据访问层的分离,数据处理层采用一个内嵌的集合对象来保存从数据库得到的查询结果集; 分层编码使得程序员之间的分工成为可能

2、,并且代码的结构比较清晰 。,3,目标,COM 简介 COM的概念、特点和优点 理解基于组件技术的开发和应用模式 ActiveX 控件的实现 理解ActiveX 控件基于COM的实现机制 设计自定义控件的属性、方法和事件 设计自定义控件的属性页 在工程组中调试自定义控件 使用自定义控件 组件注册 组件引用,4,COM简介 2 - 1,早期应用程序 程序的结构难以维护,修改麻烦; 很难管理巨大的可执行文件; 在代码中进行任何修改都需要重新生成整个应用程序;组件对象模型 (Component Object Model :COM) 是由 Microsoft引入的组件技术;,5,COM 简介 2 -

3、2,COM 的优点 允许开发人员将他们的组件作为二进制文件进行传送; 组件可以使用任何支持 COM 的语言进行编写; 需要修改组件时,可以单独编译和替换组件,而不会影响客户应用程序。,6,基于组件的开发,COM 组件在三层体系结构中实现业务规则,且被称为服务器; 调用这些 COM 组件的应用程序称为客户应用程序; COM 基于类、对象和客户端; 服务器组件包含定义类的特性(属性)和行为(方法)的代码,客户端通过创建对象调用 COM 组件服务。,7,进程内组件和进程外组件,当对象与客户端在同一个进程内运行时,称为进程内组件(客户端创建 DLL组件对象时); 当对象在不同于客户端进程的独立进程内运

4、行时,称为进程外组件(客户端创建EXE组件对象时); 客户端和组件两者的 COM 编程是相同的,无论是编写进程内组件还是进程外组件;,8,COM 服务器的类型,简单服务器:在这种服务器上客户应用程序只可以调用该服务器,但无法访问其自定义变量和方法; 自动服务器:这些服务器允许调用对象的某些方法和属性; ActiveX:可由客户端以编程方式调用的组件;,9,ActiveX,ActiveX是一种封装技术,提供封装 COM组件并将其置入应用程序(如Web 浏览器、窗体)的一种方法。 ActiveX组件是一个文件,该文件包含执行某项或一组任务的代码,组件可以执行公用任务。 ActiveX组件是简单服务

5、的高级扩展,10,VB 中的组件 - ActiveX,Visual Basic 提供的下列模板可用来创建 COM 对象: ActiveX EXE ActiveX DLL ActiveX 控件 ActiveX 文档 EXE ActiveX 文档 DLL,11,VB 中的 ActiveX 控件,在 VB 中创建控件的三种模型是: 从头开始创建自己的控件 增强一个现有控件 用几个现有控件组装一个新控件 在 Visual Basic 中开发的控件实际上是一个控件类; 当编译 ActiveX 控件对象时,会使用 .ocx 扩展名编译该控件类。,12,创建 ActiveX 控件界面设计,13,创建 Act

6、iveX 控件属性向导,14,Event AfterLogin(ByVal bolSuccess As Boolean)MappingInfo=txtUserName,txtUserName,-1,Text Public Property Get UserName() As StringUserName = txtUserName.Text End PropertyPublic Property Let UserName(ByVal New_UserName As String)txtUserName.Text() = New_UserNamePropertyChanged “UserName

7、“ End Property 。,创建 ActiveX 控件代码实现,15,属性页作用,设置属性页主要是为了方便使用该控件的开发人员,在设计时,能以一种可视化的方法进行控件的属性设置。,16,属性页向导,指定显示的页面的名称 映射属性,17,属性页样式,18,属性页控件使用时,19,Private Sub txtDBName_Change()Changed = True End SubPrivate Sub PropertyPage_ApplyChanges()SelectedControls(0).DBName = txtDBName.Text End SubPrivate Sub Prop

8、ertyPage_SelectionChanged()txtDBName.Text = SelectedControls(0).DBName End Sub,属性页属性页代码,20,ActiveX控件调试工程调试属性,21,ActiveX控件调试工程组调试,22,ActiveX控件调试工程组调试,23,使用自定义ActiveX控件,24,ActiveX控件相关术语,GUID(全局唯一标识符): COM 类 COM 接口 类型库 组件类 接口 由对象提供的属性、方法和事件的描述 对象方法和事件的参数的类型和数量,25,ActiveX控件相关编译和注册,Regsvr32 /u 组件文件名,26,A

9、ctiveX控件相关编译和注册,27,ActiveX控件相关缺省属性,28,总结,COM 是定义不同对象彼此之间如何交互的标准,也是编写可在基于组件的系统中运行的可重用代码的规范; 开发大型应用程序时,使用 COM 或其他基于组件的技术已经成为一种必然的需要; COM 组件在三层体系结构中实现业务规则,客户应用程序调用这些 COM 组件来完成它们的任务; 在使用构成控件构造自定义ActiveX组件时候,构成控件都是被屏蔽的,外界不能访问这些控件的属性、方法或者触发其事件,必须通过ActiveX控件主动暴露一些属性、方法或者一些自定义事件; 在一个工程组中,可以包含一个AcxtiveX控件工程、标准EXE工程,并且可以在标准EXE工程使用该控件来进行控件的调试; 注册组件之后,客户端才可以使用它,可以使用RegSvr32命令行实用程序来进行注册。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报