在Delphi中,我想定义如下常量:
const
LANG_BUL = MAKELANGID(LANG_BULGARIAN, SUBLANG_DEFAULT);
但是会得到
[dcc32 Error] Utils.pas(15): E2026 Constant expression expected
如何让编译器在编译开始前预处理宏并生成常量?
Delphi 中没有宏。
MAKELANGID
是一个函数 - 请参阅单位 Winapi.Windows
。因此它不能用于定义常量。您可以手动“展开”MAKELANGID
作为解决方法:
const
LANG_BUL = WORD(SUBLANG_DEFAULT shl 10) or LANG_BULGARIAN;