は、次のコードを考えてみましょう:条件式はパッケージ内で壊れていますか?
requires
designide,
rtl,
vcl,
{$IF RTLVersion < 19.0} // E2026 Constant expression expected
//{$IF CompilerVersion = 22.0} // same as above
vcljpg;
{$ELSE}
vclimg;
{$IFEND}
絶対的に正しい構文であるように思われます。しかし、コンパイラはそれに目をつけ、Constant expression expected
を報告します。ここで本当に何が起こるのですか?
テクニカル:現在、XE(15.0.3953.35171)のみでテスト済みです。
もちろん、回避策の提案も歓迎します。
FWIW:D2007では '{$ IF RTLVersion <19.0}'テストは '' contains''の後に**使用されていれば動作します。 –
@Ulrich Gerhardt、非常に興味深い観測、ありがとう! (XEで確認済み) – OnTheFly