`
禹爸爸
  • 浏览: 80560 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Delphi Open Tools API概述

 
阅读更多

Delphi为我们提供了一组AIP(Open Tools API),允许我们使用这些函数,将自定义的菜单项、工具栏按钮、创建窗体专家以及更多的东西加入到IDE中,以提高自己的开发效率。

使用Tools API是一件很容易的事,只要实现一些特定的接口,并调用另一些接口提供的服务即可。编写一个Tools API代码和编写组件或是属性编辑器很类似,必须将这些代码编译为设计期包或是DLL加载到Delphi的IDE中。

所有的API函数都声明在ToolsAPI单元中,其位置在Delphi的安装目录下Source/ToolsAPI目录中,大家可以看到这个单元中的接口都是以OTA或是NTA作为前缀名称的(关于这两个前缀的含义在单元的头部也给出了简单的说明:OTA -- Open Tools API;NTA -- Native Tools API),从这里我们可以看出,Delphi将API划分为两类,OTA只能通过接口访问IDE,不受IDE版本的限制;NTA允许访问实际的IDE对象,如IDE中的TActionList、TMainMenu等。使用这些接口时必须引用Borland包,这意味着实现这些接口的代码将限制于特定的IDE版本。

有些接口后面会有一些数字,如IOTAServices50,这表示这个接口是在5.0的IDE中使用的,为了向前兼容,Borland没有直接修改此接口,而是在此接口的基础之上再派生出新版本的接口。

在Open Tools API中最重要的一个接口就是IBorlandIDEServices接口了,他代替了老版本中的具有许多许多方法的单一模式对象ToolServices。他实现了许多不同的COM接口,通过他我们就可以得到我们所需要的Services接口(后缀以Services结尾的接口都可以由IBorlandIDEServices接口转型得到)。

var
ModuleServices:IOTAModuleServices;

...

ifSupports(BorlandIDEServices,IOTAModuleServices,ModuleServices)then
begin
...
end;

 

接口名称

描述

IOTAActionServices 利用此接口执行一些文件动作,如打开、关闭和保存等
IOTAModuleServices 利用此接口可以注册通知器(Notifier),创建新文件,还可以通过它访问Editor Interfaces,Project Options等等
IOTADebuggerServices Delphi调试器接口,这个接口没有完全实实,其中的GetCurrentProcess方法始终返回Nil值。
IOTAWizardServices 注册和反注册Wizard。编写为DLL的Wizard必须使用Wizard Services注册
IOTAPackageServices 通过此接口可以获得已安装的包及其组件的列表
IOTAMessageServices

可以利用此接口将信息显示到Delphi IDE中的“消息查看”窗口中

IOTAToDoServices 通过他可以获得Delphi中的TO DO List信息
IOTAServices 这个接口不像其他接口可以“见名知意”,它可以注册IDE通知器,也可以获限环境选项接口
INTAServices 使用这个接口必须使用VCL50.BPL包,它可以直接访问IDE中实际的对象,如菜单对象, 动作列表(Action Lists), 工具栏等

通过学习和使用Open Tools API,你会领略到Delphi IDE的完美设计。

访问http://delphi.about.com/library/weekly/aa033099.htm可以获取更多关于Open Tools API的知识。

版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics