`
禹爸爸
  • 浏览: 89284 次
  • 性别: 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的知识。

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

分享到:
评论

相关推荐

    Delphi中的IDE--ToolsAPI中文帮助

    Tools API是Delphi IDE的一个核心组成部分,它允许开发者扩展IDE的功能,创建自定义插件或工具,以满足特定的开发需求。 Tools API提供了丰富的接口和类库,使得程序员能够访问IDE的内部对象,如编辑器、工程管理器...

    delphi 调用OpenAI接口

    本文将详细介绍如何在Delphi中调用OpenAI的接口,实现与OpenAI服务的交互。 首先,为了在Delphi项目中使用OpenAI API,你需要注册一个OpenAI账号并获取API密钥。这个密钥将作为身份验证的凭据,用于在发送请求时...

    delphi Native_API

    Delphi Native API 是一个在 Delphi 编程环境中使用原生操作系统API的工具集,它允许开发者直接调用操作系统的核心功能,以实现更底层的控制和优化。在Delphi编程中,Native API 提供了访问Windows系统服务的能力,...

    ToolsAPI.dcu ToolsAPI.pas BCB Delphi

    标题中的"ToolsAPI.dcu"和"ToolsAPI.pas"是两个关键文件,它们在BCB(Borland C++ Builder)和Delphi编程环境中扮演重要角色。在Delphi和BCB这样的RAD(快速应用程序开发)环境中,".dcu"和".pas"文件是源代码和编译...

    Delphi开发API方面技巧

    ### Delphi 开发 API 方面技巧 在 Delphi 开发中,熟练掌握并运用 Windows API 是提高程序功能性和效率的重要手段。以下将详细介绍文件中提到的一些关键知识点。 #### 一、获得特殊文件夹名称 在编程过程中,经常...

    delphi 通过SetupApi列举设备

    在Delphi中,我们需要引入`Windows`和`SetupAPI`单元,这样我们就可以访问到这些API函数。 ```delphi uses Windows, SetupAPI; ``` 接着,我们需要创建一个`DEVCLASS_ENUMERATOR`结构数组,用于存储设备枚举器的...

    扩展Delphi的IDE--ToolsAPI帮助中译版

    Delphi的IDE扩展是一般程序员很少涉足的领域,不管是网上还是书店里,这方面的资料都是鲜有所见。Delphi7自带的帮助文件是我们最容易找到的资料,为了方便CnPack开发组成员以及对IDE扩展感兴趣的朋友对这一领域有更...

    Delphi使用CryptoAPI生成证书及PHP(openssl)端签名验签

    在本例中,Delphi使用CryptoAPI生成的自签名证书,包含了私钥和公钥对,以及证书持有者的身份信息。 2. **CryptoAPI**:这是Windows操作系统提供的一个API,用于处理加密和解密操作,包括生成密钥对、数字签名和...

    delphi调用GOOGLE API

    本话题聚焦于使用Delphi集成开发环境(IDE)调用谷歌(Google)API,尤其是与地图相关的服务。Delphi是一个强大的对象 Pascal编程工具,它允许开发者创建桌面、移动以及Web应用。而谷歌API,特别是谷歌地图API,为...

    Delphi 完成的API Hook钩子dll,带示例,可截获API

    Delphi 完成的API Hook钩子dll,带示例,可截获API 用Delphi编写完成的API Hook钩子dll源代码,两个DPR文件,一个是DLL的工程文件,一个是示例的文件,通过这个钩子,可截获API,从前也有这样的,不过觉得这个用起来...

    DELPHI调用有道 API 翻译(xml方式)

    在本文中,我们将深入探讨如何在Delphi环境中调用有道API进行翻译,利用XML方式来处理和解析返回的结果。这个过程涉及到网络通信、API调用以及XML数据的解析等关键知识点。 首先,你需要在有道API官网注册并申请API...

    Delphi-OpenCV-master.zip_Delphi OpenCV_delphi open cv_open_openc

    OPEN CV LIBRARY for DELPHI

    DELPHI编写的HOOK API实现DLL全局钩子启动记事本的程序-DELPHI prepared HOOK API to a

    DELPHI编写的HOOK API实现DLL全局钩子启动记事本的程序-DELPHI prepared HOOK API to achieve the overall hook DLL procedures start Notepad

    delphi for WinSock API

    在本主题"delphi for WinSock API"中,我们将深入探讨如何使用Delphi结合WinSock API来实现TCP网络通信。WinSock,也称为Windows Sockets,是Windows操作系统中的一个编程接口,它为开发者提供了标准的接口,以便于...

    Chilkat Delphi DLL API v9.5.0.58

    Chilkat Delphi DLL API v9.5.0.58 是一款专为Delphi开发者设计的库,它提供了一套全面的API接口,用于在Delphi应用程序中实现各种复杂的网络和文件处理任务。这个库的强大之处在于它集成了多种功能,包括电子邮件...

    利用DELPHI调用API直接对串口读写

    在本篇文章中,我们将深入探讨如何利用Delphi调用API直接对串口进行读写操作。 首先,我们需要了解API(应用程序接口)的本质。API是一组预定义的函数、常量、类型和结构,允许开发者访问操作系统或库的功能。在...

    Delphi动态调用API辅助工具_delphi_

    标题“Delphi动态调用API辅助工具”暗示了这个工具是为了解决在Delphi项目中使用API时遇到的问题,可能包括自动化的API函数生成、参数管理、错误处理等方面。这种工具通常能够简化API调用的过程,提高开发效率,减少...

    ToolsAPI编程指南

    然而,对于Borland C++Builder(BCB)和Borland Delphi这样的专业开发环境,开发者需要借助另一种机制来扩展其平台的能力,这就是ToolsAPI。本文将深入探讨ToolsAPI的概念、用途以及如何在BCB和Delphi中应用它。 ...

    Delphi 12 Windows API From WinMD 1.0(全部源代码)

    Delphi 12 一套将完整 Windows API 头文件...此 API 转换包括 311 个 Delphi 头文件*和 41 MB 代码,涵盖了微软提供的整个平台 API。 Delphi12 新增加,正版软件才可以下载。 包含全部源代码! 不可多得的好资源!

    delphi 下API函数写串口

    delphi 利用API函数写串口。 //建立串口句柄 CommHandle := CreateFile(PChar(ComboBox1.Text),GENERIC_WRITE or GENERIC_READ, 0,nil,OPEN_EXISTING,FILE_FLAG_OVERLAPPED or FILE_ATTRIBUTE_NORMAL,0); if ...

Global site tag (gtag.js) - Google Analytics