delphi - 如何在没有'uses'b的情况下从多个文件引用常量?

标签 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}将该文件包含在内

最佳答案

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

不仅如此,与包含文件相比,单元在IDE中更易于使用。

因此,总的来说,我建议您使用专用的设备。

关于delphi - 如何在没有'uses'b的情况下从多个文件引用常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23974509/

相关文章:

c++ - VirtualTreeView 在 C++ Builder 中完成 UnicodeString

delphi - 注册表 "forgetting"值

delphi - 简单的 Delphi TTimer 程序

sql - Delphi 更新连接查询

delphi - 多接口(interface)继承Delphi

delphi - Windows 主题更改后 TListView 列顺序错误

Delphi 将数据库表映射为类

delphi - brcc32 位图格式无效

algorithm - 在 Delphi 中快速填充字符串

delphi - 交换了(左、上)和(右、下)点的 TRect 是什么意思?