2023年11月30日发(作者:)
考试⼤计算机等级站整理收集:
名词解释:
OLE: (Object linking and embedding对象的链接与嵌⼊)
使得服务器模块和客户模块通过标准的接⼝进⾏通讯。两个模块可以在同⼀台计算机或位于不同的计算机上,位置对⽤户
来说是⽆关紧要的。服务器模块实现了⼀组接⼝,客户模块通过这组接⼝进⾏通讯。
COM: (Component object modal组件对象模型)
实现了OLE的功能,具体可完成⼀下功能:
l 编写供多种语⾔使⽤的代码;
多种语⾔:指的是建⽴好的COM组件不在乎访问它的编程语⾔,任何⼀种编程语⾔只要知道COM组件的接⼝,访问是都
能完成同样的功能。
l 创建ActiveX控件;
l 通过OLE Automation操纵其他应⽤程序;
如:Microsoft Excel的OLE编程接⼝,创建对象后,任何⼀种程序都可以实现对Excel的操作。
l 与其他计算机上的应⽤程序通讯;
实际为COM接⼝与接⼝之间的通讯,因其实现了不同语⾔、不同计算机的⽅式,所以实现不同计算机上应⽤程序的通讯
也就⼗分容易。
COM模块:
COM的模块指独⽴的应⽤程序(EXE)或者动态连接库(DLL),在实现COM时,采⽤DLL⽅式要⽐较容易⼀些。因
为:应⽤程序在加载时在内存中都是独⽴的地址控件,⽽DLL加载后可以驻留内存。当多个客户端调⽤COM时,如果采⽤
EXE形式,就会有多个EXE被加载,⽽且COM处理客户端的访问时,也必须在不同的地址空间来回切换,⼤费周张。⽽DLL
形式永远只有⼀个驻留内存,COM只要在相同的内存空间中寻找执⾏代码即可。
逐步深⼊:
DLL我们都已经写了很多,通常我们写的DLL都是定义的⼀些⽅法或是过程来实现特定的操作,当然定义的出⼝(Exports)
也就是这些⽅法或是过程。现在我们来写⼀个出⼝为⼀个类的DLL来展开我们COM编写的学习。
准备⼯作:
打开Delphi,选择FileNewOthers,选择DLL Wizard⾃动创建⼀个DLL⼯程,选择FileNewUnit新建⼀个单元,全部保
存。
写代码:
在新建的Unit中定义⼀个抽象类:
Type
TCalculator=Class
Public
Function Addition (Op1, Op2: Double): Double ; virtual; abstract;
End;
这个类很简单,就定义了⼀个抽象⽅法实现两个数的相加。
定义抽象类后,定义⼀个类来实现这个抽象类:
Type
TCalcImple=Class (TCalculator)
Public
Function Addition (Op1, Op2: Double): Double; Override;
End;


发布评论