即使您可以在 BorlandIDEServices 中查询 IOTAToolsFilter,该界面也无法帮助您完成您所要求的工作。该接口是作为向 IDE(在 IDE 使用 MSBuild 之前)添加其他构建工具(编译器等)的机制的一部分而引入的。它允许您编写自定义“过滤器”来处理来自特定构建工具的输出,但它不允许您将过滤器应用于内置工具之一(如 delphi 编译器)。
Delphi2010调用失败的原因Supports(BorlandIDEServices, IOTAToolsFilter, OTAToolsFilter)
是,一旦IDE添加MSBuild支持,IDE添加构建工具的旧方式被禁用,BorlandIDEServices接口不再支持IOTAToolsFilter。
IOTAToolsFilter 的声明可能应该在 ToolsAPI.pas 中被标记为 deprecated(或者至少应该在源代码注释中提到它不再受支持)。
至于您希望过滤特定提示,我不知道有一种方法可以通过 ToolsAPI 做到这一点。可以添加到 IOTAMessageServices 似乎是一件合理的事情(枚举、过滤和可能更改 IDE 消息视图中的消息的能力)。我会为此在 QualityCentral 中输入请求。
另外,请投票给 QC #35774 ( http://qc.embarcadero.com/wc/qcmain.aspx?d=35774 ),就好像已经实现了一样,您不需要为此类事情使用 ToolsAPI。