我正在处理 和 中的一个组件Delphi 7
,Delphi 2006
我正在使用一个单元,我需要将其添加到.dpr
自动删除该组件的项目文件中。就像 Eureka Log 自动将单元 'ExceptionLog' 添加到项目文件中的方式:
当我将组件放在项目中的任何表单上时,谁能告诉我如何以编程方式将一个单元添加到项目文件中?
我正在处理 和 中的一个组件Delphi 7
,Delphi 2006
我正在使用一个单元,我需要将其添加到.dpr
自动删除该组件的项目文件中。就像 Eureka Log 自动将单元 'ExceptionLog' 添加到项目文件中的方式:
当我将组件放在项目中的任何表单上时,谁能告诉我如何以编程方式将一个单元添加到项目文件中?
您很可能必须为此使用 Open Tools API。
此外,它可能需要为您的组件编写一个TSelectionEditor来触发单元的添加(我会尝试 RequiresUnit 方法)。
虽然有一种简单的方法可以将一个单元添加到活动项目(下面的代码),但这仅适用于活动项目,它可能不是表单所属的项目,您正在向其中添加组件。它还在uses子句的末尾添加了单位。
uses
ToolsAPI;
var
currentProject: IOTAProject;
begin
currentProject := GetActiveProject();
currentProject.AddFile('MyUnit.pas', True);
您可以查看GExperts 源代码,因为它包含一个可以解析单位和修改使用子句的类 (TUsesManager)。
奇怪的。
我曾经将我的默认 dpr 设置为几乎不包含任何内容,结果我的工具箱非常空。因此,如果它在我的工具箱中,它在 dpr 中 - 你有什么问题 - 通常如果它在工具箱中,它已经在 dpr 中。
转到项目 > Eurekalog 选项并禁用 Eurekalog。