【发布时间】:2018-05-24 17:17:31
【问题描述】:
我有许多使用相同单元的 Delphi 10 项目,我们称它们为“commons”。
当我将一个新单元添加到公共空间时,我必须手动将它添加到每个项目中。我尝试在每个.dpr 文件的uses 部分中添加{$INCLUDE commons.inc} 行:
uses
Forms,
{$INCLUDE commons.inc}
projectUnit1,
...;
commons.inc 有这个内容:
common1,
common2,
我可以编译一个项目,但不能管理来自commons.inc 的单元。通过管理,我的意思是 Ctrl-F12,从项目中删除,等等。
这是来自 Delphi 的帮助:
使用包含文件有一个限制:不能在语句部分的中间指定包含文件。实际上,语句部分的开头和结尾之间的所有语句都必须存在于同一个源文件中。
我想这就是为什么我的想法行不通的原因?
是我做错了什么,还是有其他解决方案?
【问题讨论】:
-
确定可以编译没有错误? IMO 至少包含应为
common1, common2,。;将终止使用语句。 -
IDE 基本上“拥有”大部分 DPR 文件。但附带说明一下,您是否应该在这个 inc 文件中使用
,而不是;? -
我没有亲自尝试过,但尝试创建一个预构建事件脚本来在 dpr 文件中进行搜索/替换。预构建事件接受 DOS 命令。我的猜测是调用一个 bat 文件,该文件调用一个 powershell 命令在 dpr 文件中搜索/替换。 docwiki.embarcadero.com/RADStudio/Tokyo/en/…stackoverflow.com/questions/60034/…
-
是的,这是意料之中的。 IDE 不会读入您的包含文件。这就是你付出的代价。
-
您可以使用 Project->Add to Project 和 multi-selecting 将这两个文件添加到您的 .dpr 中,就像您在 $INCLUDE 语句中键入一样快,然后您可以通过IDE就像你抱怨不能做一样。这听起来像是一个 XY 问题 - 我正试图想出一种方法来解决问题 Y,这是我首先因为没有正确使用 X 而导致自己的问题 Y - 对我来说。
标签: delphi