COM程序编写入门(一)

来源:计算机等级考试    发布时间:2012-08-28    计算机等级考试视频    评论

  考试大计算机等级站整理收集:

  名词解释:

  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,选择File/New/Others,选择DLL Wizard自动创建一个DLL工程,选择File/New/Unit新建一个单元,全部保存。

  写代码:

  在新建的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;

  方法实现:

  Function TCalcImple.Addition(Op1, Op2: Double): Double;

  Begin

  Result: =Op1+Op2;

  End;

  当然我们还差一个创建这个类的方法,我们在加入如下:

  Function CreateCalcImple:TCalcImple;stdcall;

  Begin

  Result:=TCalcImple.Create;

  End;

上一页12下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答