5

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

在此处输入图像描述

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

4

3 回答 3

7

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

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

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

uses
  ToolsAPI;

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

您可以查看GExperts 源代码,因为它包含一个可以解析单位和修改使用子句的类 (TUsesManager)。

于 2012-04-24T11:35:01.873 回答
0

奇怪的。

我曾经将我的默认 dpr 设置为几乎不包含任何内容,结果我的工具箱非常空。因此,如果它在我的工具箱中,它在 dpr 中 - 你有什么问题 - 通常如果它在工具箱中,它已经在 dpr 中。

于 2012-04-24T07:19:00.123 回答
0

转到项目 > Eurekalog 选项并禁用 Eurekalog。

于 2012-04-24T10:33:42.717 回答