COM和ActiveX控件设计

Advanced Programming with Visual Basic/Chapter 4/ COM和ActiveX控件设计 第四章 回顾 程序设计的模块化已经成为一种普遍的认识,并且几乎所有的开发工具或者程序设计技术都为之提供了直接或者间接的支持; MSF体系结构为应用程序模型提供的三组服务是: 用户服务 业务服务和数据服务 程序代码分层实现是为了增强程序的可维护性和可扩充性; 分层结构的一个模型是:除了根据实体对象进行程序的横向划分之外,在纵向上,可以按照界面层、数据处理层和数据访问层来规划程序的结构; 类模块包含类的定义,包括其属性和方法定义; 为实现界面层和数据访问层的分离,数据处理层采用一个内嵌的集合对象来保存从数据库得到的查询结果集; 分层编码使得程序员之间的分工成为可能,并且代码的结构比较清晰 。 目标 COM 简介 COM的概念、特点和优点 理解基于组件技术的开发和应用模式 ActiveX 控件的实现 理解ActiveX 控件基于COM的实现机制 设计自定义控件的属性、方法和事件 设计自定义控件的属性页 在工程组中调试自定义控件 使用自定义控件 组件注册 组件引用 COM简介 2 - 1 早期应用程序 程序的结构难以维护,修改麻烦; 很难管理巨大的可执行文件; 在代码中进行任何修改都需要重新生成整个应用程序; 组件对象模型 (Component Object Model :COM) 是由 Microsoft引入的组件技术; COM 简介 2 - 2 COM 的优点 允许开发人员将他们的组件作为二进制文件进行传送; 组件可以使用任何支持 COM 的语言进行编写; 需要修改组件时,可以单独编译和替换组件,而不会影响客户应用程序。 基于组件的开发 COM 组件在三层体系结构中实现业务规则,且被称为服务器; 调用这些 COM 组件的应用程序称为客户应用程序; COM 基于类、对象和客户端; 服务器组件包含定义类的特性(属性)和行为(方法)的代码,客户端通过创建对象调用 COM 组件服务。 进程内组件和进程外组件 当对象与客户端在同一个进程内运行时,称为进程内组件(客户端创建 DLL组件对象时); 当对象在不同于客户端进程的独立进程内运行时,称为进程外组件(客户端创建EXE组件对象时); 客户端和组件两者的 COM 编程是相同的,无论是编写进程内组件还是进程外组件; COM 服务器的类型 简单服务器:在这种服务器上客户应用程序只可以调用该服务器,但无法访问其自定义变量和方法; 自动服务器:这些服务器允许调用对象的某些方法和属性; ActiveX:可由客户端以编程方式调用的组件; ActiveX ActiveX是一种封装技术,提供封装 COM组件并将其置入应用程序(如Web 浏览器、窗体)的一种方法。 ActiveX组件是一个文件,该文件包含执行某项或一组任务的代码,组件可以执行公用任务。 ActiveX组件是简单服务的高级扩展 VB 中的组件 - ActiveX Visual Basic 提供的下列模板可用来创建 COM 对象: ActiveX EXE ActiveX DLL ActiveX 控件 ActiveX 文档 EXE ActiveX 文档 DLL VB 中的 ActiveX 控件 在 VB 中创建控件的三种模型是: 从头开始创建自己的控件 增强一个现有控件 用几个现有控件组装一个新控件 在 Visual Basic 中开发的控件实际上是一个控件类; 当编译 ActiveX 控件对象时,会使用 .ocx 扩展名编译该控件类。 创建 ActiveX 控件—界面设计 创建 ActiveX 控件—属性向导 创建 ActiveX 控件—代码实现 属性页—作用 设置属性页主要是为了方便使用该控件的开发人员,在设计时,能以一种可视化的方法进行控件的属性设置。 属性页—向导 属性页—样式 属性页—控件使用时 属性页—属性页代码 Private Sub txtDBName_Change() Changed = True End Sub ? Private Sub PropertyPage_ApplyChanges() SelectedControls(0).DBName = txtDBName.Text End Sub ? Private Sub PropertyPage_SelectionChanged() txtDBName.Text = SelectedControls(0).DBName End Sub ActiveX控件调试—工程调试属性 ActiveX控件调试—工程组调试 ActiveX控件调试—工程组调试 使用自定义ActiveX控件

activex服务器与com组件,COM和ActiveX控件设计.ppt相关推荐

  1. 组件、插件、控件的区别

    控件:是编程中用到的,按钮就算是一个控件,窗口也是等等 组件:是软件的一部分.软件的组成部分. 插件:网页中用到的,flash插件,没有它浏览器不能播放flash. 首先范围最广的应该是组件,英文co ...

  2. vue树形结构html,怎么在vue中利用递归组件实现一个树形控件

    怎么在vue中利用递归组件实现一个树形控件 发布时间:2021-06-11 17:26:48 来源:亿速云 阅读:81 作者:Leah 本篇文章为大家展示了怎么在vue中利用递归组件实现一个树形控件, ...

  3. 第31讲 UI组件之 Gallery画廊控件

    第31讲 UI组件之 Gallery画廊控件 1.Gallery的简介 Gallery(画廊)是一个锁定中心条目并且拥有水平滚动列表的视图,一般用来浏览图片,并且可以响应事件显示信息.Gallery只 ...

  4. mysql抽屉图标_React Native自定义组件实现抽屉菜单控件效果

    一.需求分析 原生开发中,自定义View可谓是屡见不鲜的事情,往往系统的控件总不能满足现实的需求.五花八门的产品设计需要我们做出不同的View.关于自定义View的内容网上已经有很多的博文,本篇博客要 ...

  5. 力控报警转储 mysql_力控组态软件后台组件报警中心的控件方法

    力控组态软件ForceControl V7.0后台组件报警中心的控件方法 AckGroup(int nGroup) 描述: 确认组报警 返回值: int(0 失败,1 成功 ) 参数: nGroup ...

  6. 郑州万向置业oa服务器信息,[办公OA]-致远OA控件安装说明

    在使用OA之前,需要在浏览器中安装必要的插件(如Office控件),以方便OA系统提供更好地编辑和使用功能.插件的安装包括两大步骤,一是对浏览器进行设置,二是OA控件的安装.下面是详细步骤,请大家参照 ...

  7. Qt Designer设置背景图片、颜色不影响其它组件小技巧,控件层级设置,组件的继承,styleSheet设置样式。

    话不多说,先看效果图,完美的设置背景. 如果正常设置背景的话其它的组件都会产生变化. 这是因为组件的继承. 最开始的面板就是父类,我们新增加的组件就是子类,默认都是继承的. 继承也有继承的好处. 比如 ...

  8. JS组件系列——Bootstrap 树控件使用经验分享 - 懒得安分 - 博客园

    前言:很多时候我们在项目中需要用到树,有些树仅仅是展示层级关系,有些树是为了展示和编辑层级关系,还有些树是为了选中项然后其他地方调用选中项.不管怎么样,树控件都是很多项目里面不可或缺的组件之一.今天, ...

  9. 前端框架,库,组件,插件,控件的理解

    框架就是提供了前端项目整体解决方案.库就是自己组合来实现项目. 某种层面上来说,前端库就像我平时家里的工具箱,里面有起子.锤子,我们可以通过这个工具箱来给小孩子创造玩具,我们甚至可以自己创造一些工具, ...

  10. delphi html 表格控件,Delphi之TMS开发组件包-TAdvStringGrid表格控件

    最近项目涉及一些复杂表格显示的实现,尝试使用Dev Express的cxGrid控件多次还是没法实现想要的效果,后来发现,TMS开发组件包的TAdvStringGrid可以实现效果.这里举例来说明一下 ...

最新文章

  1. caffe finetune predict and classify the lung nodule( 肺结节的分类)
  2. 连载-第1章绪论 1.2嵌入式处理器
  3. 【笔记】jstree插件的基本使用
  4. C#面向对象设计模式纵横谈——6.Prototype 原型模式(创建型模式)
  5. alert回调_你知道javascript函数的回调怎么用吗?
  6. uaa 授权_使用UAA OAuth2授权服务器–客户端和资源
  7. 一段js实现复制文本内容到剪切板
  8. ZZULIOJ 1121: 电梯
  9. LVS学习笔记之三种模式的特点概括
  10. apk逆向思路_安卓逆向和手游辅助学习路线
  11. php 非聚集锁引,sql数据库聚集索引和非聚集索引示例
  12. javaScript编码
  13. ThinkPad T410 拆机(高清)
  14. 3dmax2020卸载/安装失败/如何彻底卸载清除干净3dmax2020注册表和文件的方法
  15. 继电器驱动原理详解(Relay)
  16. ftl 页面使用java代码_在FTL文件中使用自定义的Java方法
  17. 车辆网之整车Can网络基本结构及转发机制
  18. PHICOMM路由器无线扩展的设置方法(吐槽一下)
  19. python自动更换电脑桌面壁纸
  20. echarts双饼图

热门文章

  1. Raul的新机器学习书!
  2. P2P流量检测8个方向
  3. Python语言程序设计——实验五
  4. 滤波器原理及其作用计算机网络,电源滤波器的工作原理及作用
  5. BUAA(2021春) 北京地铁乘坐线路查询——Dijkstra和Floyd双解法
  6. NTFS - 系统解析
  7. Centos7清理垃圾文件或过期文件
  8. 信息系统设计之软件设计和系统架构
  9. 支付宝小程序、百度小程序、微信小程序、今日头条小程序技术分析
  10. java lpad oracle_「oracle」lpad函数和rpad函数详解