COM程序编写入门(一)
大型计算机等级站的整理与收集:
名词解释:
Ole:(链接和嵌入OLE:(对象链接和嵌入)
使服务器模块和客户端模块能够通过标准接口进行通信。这两个模块可以在同一台计算机上,也可以在不同的计算机上,位置与用户无关。服务器模块实现了一组接口,客户端模块通过这些接口进行通信。
COM:(组件对象模态组件对象模型)
要实现OLE的功能,具体功能可以完成:
l为多种语言编写代码;
多语言:意味着已建立的COM组件不关心访问它的编程语言。任何编程语言只要知道COM组件的接口,都可以访问相同的函数。
l创建ActiveX控件;
l通过OLE自动化操作其他应用程序;
比如微软Excel的OLE编程接口,对象创建后,任何程序都可以实现对Excel的操作。
l与其他计算机上的应用程序通信;
其实就是COM接口之间的通信,因为实现了不同的语言,不同的计算机方式,所以实现不同计算机上应用程序的通信是非常容易的。
COM模块:
COM的模块是指独立的应用程序(EXE)或动态链接库(DLL)。在实现COM时,采用DLL更容易。因为:应用程序加载时是内存中独立的地址控件,DLL加载后可以驻留在内存中。当多个客户端调用COM时,如果是以EXE的形式,就会加载多个EXE,而COM在处理客户端的访问时,又要在不同的地址空之间来回切换,耗费大量时间。但是DLL总是只有一个常驻内存,COM只需要在同一个内存空中寻找正在执行的代码。
循序渐进:
我们写了很多dll。通常我们写的dll都是定义好的方法或者进程来实现特定的操作。当然,定义的导出是这些方法或过程。现在,让我们编写一个DLL,它的导出是一个类,用于扩展我们的COM编写的学习。
准备工作:
打开Delphi,选择文件\新建\其他,选择DLL向导自动创建一个DLL项目,选择文件\新建\单元创建一个新单元,全部保存。
编写代码:
在新创建的单元中定义一个抽象类:
类型
TCalculator=Class
公共
函数加法(Op1,Op2:Double):Double;虚拟的;抽象;
结束;
这个类非常简单,它定义了一个抽象方法来将两个数相加。
定义抽象类后,定义一个类来实现这个抽象类:
类型
TCalcImple=Class (TCalculator)
公共
函数加法(Op1,Op2:Double):Double;覆盖;
结束;
方法实现:
函数TCalcImple。加法(Op1,Op2:Double):Double;
开始
结果:= Op1+Op2;
结束;
当然,我们仍然需要一种方法来创建这个类。我们添加了以下内容:
函数create calc imple:tcal simple;stdcall
开始
结果:= TCalcImple。创建;
结束;
位律师回复
0条评论