自动添加单元到项目

Pre*_*ias 5 delphi delphi-7 delphi-2006 opentools toolsapi

我在工作的组件上Delphi 7Delphi 2006,在那里我使用,我需要添加到一个单元.dpr上的组件自动删除该项目的文件.就像Eureka Log自动将单元'ExceptionLog'添加到项目文件中一样:

在此输入图像描述

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

Ste*_*nke 7

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

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

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

uses
  ToolsAPI;

var
  currentProject: IOTAProject;
begin
  currentProject := GetActiveProject();
  currentProject.AddFile('MyUnit.pas', True);
Run Code Online (Sandbox Code Playgroud)

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