文档详情

DELPHI 5编程实例与技巧014.pdf

发布:2017-06-15约11.5万字共59页下载文档
文本预览下载声明
下载 第14章 COM 为了实现代码的重用,M i c r o s o f t定义了O L E (Object Linking and Embedding ,对象链接和 嵌入)标准,使得服务器模块和客户模块通过标准的接口进行通讯。两个模块可以在同一台计 算机或位于不同的计算机上,位置对用户来说是无关紧要的。服务器模块实现了一组接口,客 户模块通过这组接口进行通讯。 COM (Component Object Model )实现了OLE标准。 COM可以帮助程序员完成下面的任务: • 编写供多种语言使用的代码。 • 创建A c t i v e X控件。 • 通过OLE Automation操纵其他程序。 • 与其他计算机上的程序通讯。 其实,Wi n d o w s 的很多服务是通过C O M接口提供的。如果要调整Wi n d o w s 的某些界面元素, 例如工具栏,可以调用被称为 Shell API 的C O M接口。 所谓模块可以是独立的应用程序或动态链接库( D L L )。在D L L 中实现对象相对简单,因 为应用程序与D L L驻留在相同的地址空间,地址对于彼此都有效。当两个独立的应用程序进行 通讯时,C O M就得大费周折了,因为它们处于不同的地址空间,同一个地址指向不同的内存 位置。 14.1 在DLL中实现对象 D L L 中定义的对象只能引出抽象方法。当建立对象时, D L L 向应用程序返回虚拟方法的指 针表V Ta b l e 。因此,使用D L L提供对象的基本步骤是: 1) 定义抽象类,其中所有的方法必须是v i r t u a l和a b s t r a c t类型。 2) 实现抽象类。 3) 提供建立对象的函数。 4) 在应用程序中重新声明该抽象类。 可以看出,抽象类的功能与接口类似。 例程S14_1 该例程(运行界面如图 1 4 - 1所示)说明在 图14-1 例程S14_1的运行界面 D L L 中实现类的具体做法。 在该例程中,首先要创建一个D L L (关于D L L 的详细内容可以参阅第9章) ,然后再创建一个 应用程序,并在应用程序中调用最初创建的 D L L 。 1. 首先创建一个D L L 1) 在D e l p h i集成开发环境中,通过菜单File | New. . .,打开New Items对话框,选中N e w标签 上的D L L ,并按下O K按钮。 自动创建的一个名称为 P r o j e c t 1 的D L L 工程,编译、链接后生成的 D L L 文件将为 P r o j e c t 1 . D L L 。读者可以根据需要设置工程的名称。 2) 将D L L工程保存在目录C : \ S a m p l e s \ S 1 4 _ 1 \ D L L 中。后面创建的应用程序工程将保存在目 录C : \ S a m p l e s \ S 1 4 _ 1 中。 3) 在单元中定义抽象类T Ti m e r如下: 第14章章COM章名271 下载 t y p e T Ti m e r = c l a s s p u b l i c function GetCurTi m e : T D a t e Time;virtual;abstract; // 获取当前系统时间 e n d ; T Ti m e r类的定义非常简单,仅仅声明了一个虚拟的抽象方法 G e t C u r Ti m e ,用来读取系统的 当前时间。 4) 下面定义类
显示全部
相似文档