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