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接口(后