我在单元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}
答案 0 :(得分:6)
如果将常量放在包含文件中,那么最终将得到常量的多个定义,每个$INCLUDE
指令一个。如果将常量放在专用单元中,则会有一个声明。对于常数,这不是那么重要,但对于类型,这将是一个关键问题。
除了该问题之外,IDE中的单元比包含文件更容易使用。
所以,总而言之,我会建议你使用一个专门的单位。