Delphi Open Tools API概述

来源:互联网 发布:淘宝售后处理方案 编辑:程序博客网 时间:2024/04/30 10:22

    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;

      ...

      
if Supports(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的知识。

原创粉丝点击