2021年5月5日

マイナーリリースを区別する新しい標準条件シンボル

Delphi Master Release List · ideasawakened/DelphiKB Wiki · GitHubを見ていて気が付いたのですが、いままで標準条件シンボルの定義CONDITIONALEXPRESSIONSではできなかった、マイナーリリース間を区別する(たとえば10.4.1と10.4.2を見分ける)ための新しい標準条件シンボルがRAD Studio/Delphi/C++Builder 10.4.2 Sydneyで導入されたようです。

RAD Studio/Delphi/C++Builder 10.4.1 SydneyまではSystem.pasに
const
  RTLVersion = 34.00;
 {$HPPEMIT '#define RTLVersionC 3400'}
とRTLVersionが定義(34.0)されていたものが、10.4.2 Sydneyでは
const
  RTLVersion = 34.00; RTLVersion1041 = True; RTLVersion1042 = True;
 {$HPPEMIT '#define RTLVersionC 3400'}
と、RTLVersion1041/RTLVersion1042(いずれもTrue)の定義が追加されています。10.4/10.4.1ではこれらの定義が存在せず、10.5でもどうなるのかがいまのところわかっていないので使用方法も判然としないのですが、とりあえず
{$IF RTLVersion = 34.0}
{$IF RTLVersion1042}
  Label1.Caption := 'Delphi 10.4.2.';
{$ELSE}
  Label1.Caption := 'Delphi 10.4 or 10.4.1.';
{$ENDIF}

{$ELSE}
  Label1.Caption := 'Not Delphi 10.4.x.';
{$IFEND}
こんな感じになるでしょうか。

2021年5月4日

RAD Studio/Delphi 10.4.2 RTL Patch

RAD Studio/Delphi 10.4.2 SydneyのRTL Patch 1.0がリリースされています。General Patch 1.0で不足していたRSP-33117の修正が行われます。

Delphi 10.4.2 RTL Patch

Delphi 10.4.2 RTL Patchのリリース

2021年5月1日

RAD Studio/Delphi/C++Builder 10.4.2 General/Delphi Compiler Patch

RAD Studio/Delphi/C++Builder 10.4.2 SydneyのGeneral Patch 1.0およびDelphi Compiler Patch 1.0がリリースされています。General Patch 1.0はデバッグおよびC++コンパイラ/リンカの問題(RSP-33406RSP-33117RSP-32951RSP-32939RSP-32043)を、Delphi Compiler Patch 1.0はDelphiのコンパイラおよびLSPの問題(RSP-33425RSP-33232RSP-32768)を修正します。

RAD Studio 10.4.2 General Patch
Delphi 10.4.2 Compiler Patch

RAD Studio 10.4.2のPatchのリリース: General PatchおよびDelphi Compiler Patch (en)

2021/05/02追記: General Patch 1.0にはRSP-33117含まれておらず、この件に関しては別途パッチが再リリースされることになるとのことです。

2021/05/04追記: RSP-33117はRTL Patch 1.0で修正されました。

2021/05開催のセミナー