自动添加单元到项目

时间:2012-04-24 07:01:20

标签: delphi delphi-7 delphi-2006 toolsapi opentools

我正在处理Delphi 7Delphi 2006中的一个组件,我正在使用一个单元,我需要将该单元添加到项目的.dpr文件中自动。 就像Eureka Log自动将单位'ExceptionLog'添加到项目文件中一样:

enter image description here

当我将组件放到项目中的任何表单上时,有人能告诉我如何以编程方式将单元添加到项目文件中吗?

3 个答案:

答案 0 :(得分:7)

您很可能必须使用Open Tools API。

此外,可能需要为您的组件编写TSelectionEditor以触发添加单元(我会尝试使用RequiresUnit方法)。

虽然有一种简单的方法可以将一个单元添加到活动项目(下面的代码),但这只适用于活动项目,该活动项目可能不是表单所属的项目,而是要添加组件。它还在uses子句的末尾添加了单元。

uses
  ToolsAPI;

var
  currentProject: IOTAProject;
begin
  currentProject := GetActiveProject();
  currentProject.AddFile('MyUnit.pas', True);

您可以检查GExperts source code,因为它包含一个可以解析单位并修改uses子句的类(TUsesManager)。

答案 1 :(得分:0)

我曾经将我的默认dpr设置为几乎没有,因此我的工具箱非常空。所以,如果它在我的工具箱中,它就在dpr中 - 你有什么问题 - 通常如果它在工具箱中,它已经在dpr中。

答案 2 :(得分:0)

go Project> Eurekalog选项并禁用Eurekalog。