如何在没有'使用'的情况下从多个文件中引用常量。 B'

时间:2014-05-31 21:01:13

标签: delphi

我在单元uMainWindow中为广播消息传递定义了一些常量,例如:

const 
  UM_QUIT = WM_USER + 12;
  UM_PROCESS_MESSAGES = WM_USER + 13;

现在我需要更多的广播消息,但它们将被用于另一种形式(让我们称之为uOtherWindow),而不是uMainWindow。我希望将所有广播信息保存在一起,这样我就不会意外地重复使用信息编号。我不想强迫uOtherWindow和uMainWindow相互依赖,因此只需将uMainWindow添加到uOtherWindow的使用列表即可。

我应该如何将这组常量包含在这两个类中?

以下是我迄今为止的(可能或不可行)想法:

  • 新单元uConstants.pas并将其放在两个类的uses语句中。
  • 将它们放在像broadcastconstants.inc这样的包含文件中,然后让每个类都包含带有编译器指令的文件{$Include broadcastconstants.inc}

1 个答案:

答案 0 :(得分:6)

如果将常量放在包含文件中,那么最终将得到常量的多个定义,每个$INCLUDE指令一个。如果将常量放在专用单元中,则会有一个声明。对于常数,这不是那么重要,但对于类型,这将是一个关键问题。

除了该问题之外,IDE中的单元比包含文件更容易使用。

所以,总而言之,我会建议你使用一个专门的单位。