利用visual+basic的activex部件编程开发auto方法研究

上传人:E**** 文档编号:117998145 上传时间:2019-12-11 格式:PDF 页数:4 大小:235.32KB
返回 下载 相关 举报
利用visual+basic的activex部件编程开发auto方法研究_第1页
第1页 / 共4页
利用visual+basic的activex部件编程开发auto方法研究_第2页
第2页 / 共4页
利用visual+basic的activex部件编程开发auto方法研究_第3页
第3页 / 共4页
利用visual+basic的activex部件编程开发auto方法研究_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《利用visual+basic的activex部件编程开发auto方法研究》由会员分享,可在线阅读,更多相关《利用visual+basic的activex部件编程开发auto方法研究(4页珍藏版)》请在金锄头文库上搜索。

1、材D 粼F i f 7 f 崔 7 P 利用V i s u a l B a s i c的A c t i v e X部件编程开发A u t c, C A D方法研究 韩成果 ( 广东佳都信息技术有限公司) 抽妥重点研究利用V i s u a l B a s i c 的A c t i v e X部件编程开发A -C A D的方法, 细致分析进程内服务器程序和进程外服务器 程序的区别, 并探时其在A u ro C A D开发中的应用 关扭词V i . . . I B a s ic A c t i v e X A u t C A D 服务器对象 1 引言C O M对象类型 M i c r o s o

2、f t 公司将它的O L E技术和O C X技术C O M的服务器对象有以下三类: 融为一体并加以改进, 所形成的联合标准被重新命( 1 )内部服务器一这类服务器对象可以装 名为A c t i v e X , A c t i v e X把O L E控件规范加以精人到客户对象的地址空间。 在MS - Wi n d o w , 操作 炼, 使得这些控件更小巧而且效率更高。 新的O L E系统中, 这类对象通过动态链接库来实现 接口也加强了对数据和特征的管理, 使用新的A c - ( 2 )本地服务器这类对象运行在同一个 t i v e X控件类生成的控件不算太大而且便于其他应机器的不同 进程中。

3、它们通常和客户对象分属不同 用程序或I n t e r n e t 访间。的应用程序 因为A c t i v e X基于构件对象模型( C o m p o n e n t ( 3 ) 远程服务器一一这类对象运行在通过网 O b j e c t Mo d e l , 简称C O M) , 因此先对C O M进行回络连接的远程机器中 它们总是运行在同客户对象 顾。不同的进程地址空间, 远程服务器既可以用动态链 接库的方式。 2 构件对象模型( C o mp o n e n t O b j e c t Mo d e l , 简称 COM ) 构件对象模型是一种客户机/ 服务器方式的对 象模型, 这一

4、模型使得各种软件和应用程序之间能 够用一种统一的标准方式进行交互。 C O M工作方式概观 当一个C O M客户对象需要C O M服务器对象 的一些服务时, 它要用到C O M库中的核心服务 C O M库负责生成C O M服务器对象并且在客户对 象和服务对象之间建立初始连接, 当服务器对象为 客户对象返回指针后, 连接就建立起来了。这个返 回的指针指向服务器的一个接口, 此后, C O M库就 不再参与客户对象和服务器对象之间的工作了。 这 两个对象可以自由地进行直接通信 当一个客户对象使用完一个服务器对象提供 的服务的时候, 该客户对象就通知服务器对象它已 经使用完服务器对象提供的服务并结束

5、通信 请注意软件对象既可以作为客户对象也可以 作为服务器对象, 甚至可以同时既是客户对象又是 3 V i s u a l B a s i c与A c t i v e X部件 在V i s u a l B a s i c中没有指针的概念, 但它可以 通过使用A c t iv e X部件编程控制支持 A c t i v e X规 范的应用程序。 所谓 A c t i v e X部件是指一些可执行的代码, 比 如一个. e x e , . d l l 或. o c x 文件, 它们在提供对象时 遵循 A c t i v e X的规范通过 A c t i v e X技术, 程序员 就能够把这些可复用的

6、软件组装到应用程序或者 服务程序中去了。可以购买提供一般服务的 A c - t i v e X部件, 比如数值分析或用户界面等部分。 也可 以创建一些部件把自己的业务封装后, 再和一般的 部件组合起来。 重新使用以这种风格测试和标准化 了的代码就叫做部件软件开发。 3 . 1 V is u a l B a s ic中A c t i v e X部件的类型 V is u a l B a s i c中部件的类型有以下4 种。 ( 1 )支持 A c t iv e X技术的应用程序, 如 Mi- c r o s o f t E x c e l , Mi c r o s o f t Wo r d , A

7、 u t o C A D R1 4等, 提供了能从V i s u a l B a s ic 应用程序内部来程序化操 1 1 5 .口 C AD, V 刀 潭渝芳忿 C AD a a d c a l c u l a t i o n 纵的对象。例如, 本论文的汽缸座参数化设i f一 程序 使用 A u t o C A D R 1 4图形的属性. 方法和事件。 ; 2 ) 代码部件提供了可编程对象的库。例如, 在一个代码部件中包含为电子数据表用户提供的 财务专用函数库, 或诸如对话框那样的对多种应用 程序通用的用户界面元素 和A c t i v e X - - E n a b l e d 应用程序中

8、的对象不同的是, 代码部件中的对象和 应用程序运行在同一进程中, 所以能较快地访问到 对象。 代码部件类似于对象库。 客户应用程序通过 创建一个对象来使用代码部件, 同时调用对象的X i 性, 方法和事件, 其中, 这个 对象是根据部件提供的 一个类创建的 ( 3 )可以利用A c t i v e X控件作为部件农 增加 功能, 而不用自己创建。 不同厂商制造的A c t i v e X 控件提供了许多特殊功能, 例如在窗体上显示日 历 牌, 利用多媒体控件编写多媒体程序等 ( 4 ) A c t i v e X文档可创建交互式的I n t e r n e t 1p ! 用程序。 可以创建包含

9、在I n t e r n e t E x p l o r e r 中的窗 体。 A c t iv e X文档可以显示信息框及次级窗体 , 且 包含A c t i v e X控件。A c t i v e X文档还可以有象代码 部件那样的功能 3 . 2进程 内的服务器和进程外的服务器 通过客户端/ 服务器关系与应用程序及部件相 互之间交互作用。 客户端是使用部件功能的应用程 序代码或部件。 服务器是部件及其关联的对象 例 如, 本论文的汽缸座参数化设计程序为客户端, 而 提供图形对象的A u t o C A D R 1 4 就是服务器 A c t i v e X部件可能和客户端的应用程序运行 在

10、同一进程中, 也可能运行在不同的进程中, 这_ L 要体现在该 A c t iv e X部件是如何实现的。例如, 如 果应用程序使用一个部件. 该部件是一个 A c t iv e X - E n a b le d 应用程序的一部分, 则它在一个单玫的 进程中运行。 如果该部件已作为动态链接库( D I A , 文件) 中的一个可编程对象被实现, 则它运行在和 应用程序同一进程中 通常, 如果A c t i v e X部件作为一 个可执行文件 ( . e 。文件) 的一部分被实现, 它就是一个进程外 的服务端, 并且运行在它自己的进程中 如果, 它已 作为一个动态链接库被实现, 则它是一个进程内

11、IC J 服务端, 并且和客户端应用程序运行在同一个进程 中。 通常使用进程内的服务端的应用程序比使用.左 程外的服务端的应用程序执行起来要快些, 因为1 1 1 6 用程序不必跨越进程的边境使用对象的属性, 方法 和事件诬如, 在本论文中的进程内的服务端的应 用程序一 侧刷机构的动态仿真执行的速度比使 用进程外的服务端的应用程序 一 汽缸座参数化 设计程序执行起来要快。 下表列出如何实现不同类型的部件: 部仁服务器类型 A c i l v c X一E n a b l e d应 用程序 进程外的服务器 代码部件进程内的服务器或进程外的服务器 A c ti v e X控f 进程内的服务器 A c

12、 ti v e X文 i进程外的眼务器 3 . 3 使 用 A c t i v e X部件 3 . 3 . 1 创建对对象的引用 在应用程序中, 在使用对象的属性、 方法和时 间之前, 必须先声明对象变量。 然后将对象引用赋 予该变量。如何赋值对象引用取决于两个因素。 ( 1 ) A z t i v e X部件是否提供类型库o A c t i v e X部 件的类型库包含部件提供的全部对象的定义, 包括 全部可用的方法, 属性和事件的定义。如果 A c - t iv e X部件提供类型库, 在使用库 的对象前, 需要 在V i s u a l l; a s i c 工程中有 添加一个对类型库的

13、引 用 。 ( 2 ) 该对象是顶层、 外部可创建, 还是从属对 象 对于外部创建的对象的引用, 可以直接赋值, 而 对从属对象的引用则间接赋值 如果对象是外部可创建的, 可在S e t 语句中用 N e w关键字、 G e t O b j e c t 或C r e a t e O b j e c t 从部件外 面将对象引用赋予变量。 如果对象是从属对象, 则 需使用高层对象的方法, 在S e t 语句中指定一个对 象引用。1 A 1 如在A u t o C A D中, 应用程序对象是外 部可创建的对象, 可以从V i s u a l B a s i c 应用程序中, 通过在 S e t 语句

14、中用 N e w关键词、 G e t O b j e c t 或 C r e a t e O b j e c t 直接赋值引用。 相反, 图形文档对象 D o c u m e n t 是从属对象, 则通过在S e t 语句中使用 A p p l i c a t ic : 对象的A c t i v e D o c u m e n t 方法赋值引 用 ( 1 ) . 明 对象变量 在使用有A c t i v e X部件提供的对象的属性, 方 法和事件之前, 必须首先声明一个对象变量。声明 对象变量的方法取决于A c t i v e X部件是否提供类 库型。 ( 2 ) 冬 对象引用赋予变量 )竺竺

15、 竺 竺 竺MD 澎越 泄 留岁 2 安术 ( 3 ) 在声明对象变量之后, 必须给变量赋值对 象引用, 才能使用对象的属性, 方法及事件。 ( 4 ) 加速对象引用 可以通过优化V i s u a l B a s ic 处理对象引用的方 法, 使得V i s u a l B a s i 。 应用程序运行的更快。V i s u a l B a s i 。 处理对象引用的速度受到下列因素的影响: ( 1 ) A c t i v e X部件是作为进程内的服务器。 还 是作为进程外的服务器来实现的。 ( 2 ) 对象引用是事前绑定的还是事后绑定 3 . 3 . 2 使用对象的属性、 方法和事件 将对

16、象引用赋予对象变量后, 即可用此变量操 作对象的属性和方法。也可以用Wi t h E v e n t s 关键 字 声明对象变量, 并用它使应用程序响应该对象 的事件。 3 . 3 . 3释放A c t i v e X部件 使用完对象之后, 要清除所引用这个对象的变 量, 使对象从内存中释放。 33 . 4 定位对象模型 一旦理解了如何使用部件提供的对象, 就可以 使用部件显露的任何对象了。 部件可用的范围涵盖 了从简单代码部件、 A c t i v e X控件到大型部件。每 一个对象都存在于部件的对象层次中的某处, 可以 用两种方法访问这些对象。 ( 1 ) 如果对象是外部可创建的, 可以直接访 问

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号