我正在尝试复兴和编译XE2下的一些旧资料。

有一个例程使用在ExptIntf.pas(已弃用)中定义的'ToolServices.GetUnitCount'作为ToolServices:TIToolServices = nil;

而且,TIToolServices在ToolIntf.pas(也已弃用)中定义为TIToolServices = class(TInterface)

最后,GetUnitCount被描述为“返回属于该项目的当前单元数”。

问题是:如何(不使用ExptIntf.pas或ToolIntf.pas)获得当前属于该项目的单元数?

===============>>#1 票数:1

正确的响应取决于您的代码做什么,但是好的候选者可能是:

  • IOTAProject40

     { Return the number of owned modules } function GetModuleCount: Integer; { Return the Indexed owned Module Info } function GetModule(Index: Integer): IOTAModuleInfo; { Return the Project options } 
  • IOTAProject140

     { Returns a list of fully qualified file names. This will contain files that do not show up in the project manager, for example, the project's .res file } procedure GetCompleteFileList(FileList: TStrings); 

两者都是IOTAProject界面的祖先,因此手边都有两种风格。 要使用Open Tools API,必须使用ToolsAPI单元。 看一下您Delphi安装的source\\ToolsAPI文件夹。

===============>>#2 票数:0

XE2和XE3帮助文件中有关于“扩展API”的文档,该文档为您提供有关使用模块和文件以及使用编辑器资源的信息。 “ EditorViewAPI”的演示可能对您有所帮助。 所有服务均可通过ToolsAPI和IOTAServices接口使用。 与早期版本相比,有更多的文档和样本。 EditorViewAPI是一个实际安装的示例应用程序,您可以进行试验以查看其工作方式。

  ask by Adem translate from so

未解决问题?本站智能推荐: