Help us understand the problem. What is going on with this article?

Delphi 10.3 Rio Release 2 リリース

More than 1 year has passed since last update.

Delphi 10.3 Rio Release 2

2019/07/19 に Delphi / C++Builder / RAD Studion 10.3.2 がリリースされました!

image.png

主なトピック

僕が注目するのは

  • macOS 64bit 対応
  • インライン変数宣言周りのバグの修正
  • IDE の UX 向上

です。

macOS 64bit 対応

ついに、来ました。
32bit アプリケーションは警告ダイアログが出てましたからね…

image.png

macOS 64bit プラットフォームのアクティブ化

ただし、注意しないといけないのは前バージョンがインストールされている(ライセンスが登録されている)場合です。
このままでは macOS 64bit が有効になりません!

image.png

有効にするためには…ライセンスを一回削除して再度有効化しなければいけません。

2019/07/24 追記
ライセンスを削除・追加しなくても「更新」で大丈夫だそうです!

手順は次の通りです。

  1. (インストールディレクトリ)\bin\LicenseManager.exe を起動します。
  2. 該当のライセンスを選択して「削除」を押します。 image.png
  3. 次に「登録」を押して再度ライセンスを入力します。 image.png
  4. Delphi を起動します。
  5. プロジェクトを作りターゲットを確認すると macOS 64ビット が増えています! image.png
  6. 既存のプロジェクトは一度 .dproj を削除し作り直します
    ([プロジェクトを開く]で .dpr を開くと自動的に .dproj が生成されます)

macOS 64bit SDK の取り込み

プラットフォームに macOS 64 ビットが現れたら、macOS 64bit SDK を取り込みます。

まずはいつも通り PAServer の更新と起動です。
(インストールディレクトリ)\PAserver\PAServer20.0.pkg を macOS にコピーして PAServer をインストール、そして起動しておきます。

次に [オプション]→[配置]→[SDK マネージャ]→[追加]を押して

image.png

このダイアログを開き [OK] を押して取り込みます。

この時、何も起きず、ただダイアログが閉じる場合があります。
その場合は以下の方法を試して見てください。

terminal で

sudo xcode-select -r

と打ち、Xocde CommandLine Tools ではなく Xcode が選択されるようにします。

xcode-select -p

として

/Applications/Xcode.app/Contents/Developer

になっていれば成功です。

その他の注意点

macOS 64bit コンパイラが LLVM ベースのコンパイラに変わったことで既存のプロジェクトのビルドが通らなかったり、よりよいコードが組めるようになっています。
いくつかピックアップすると

  • 32bit では .o か .dylib しか使えなかったが、今後は .a が使用可能に(ただし .a を使う場合は prefix は無いので IFDEF で分ける必要あり)
  • 64bit SDK フレームワークのインポートが必要
  • 既存のライブラリが他のライブラリ(libc++など)に依存している場合、dependency 指令を使う

などです。

詳しくは MVP である Erik van Bilsen さんのブログをご覧ください。
https://blog.grijjy.com/2019/07/19/using-static-libraries-and-assembly-with-64-bit-macos/

※このブログは Discord の Delphi サーバーで教えて貰いました。

インライン変数宣言周りのバグの修正

10.3.1 までは例えば下記のコードが実行時エラーになっていました。

var D := TDictionary<String, Integer>.Create;
try
  D.Add('Bar', 0);
  for var Item in D do // ここで実行時エラー
    Writeln(Item.Key, ' = ',  Item.Value);
finally
  D.DisposeOf;
end;

10.3.2 では、この辺りのバグが治り素直にインライン変数を使えるようになりました!

IDE の UX 向上

10.3.1 で IDE に VCL テーマを適用した結果、IDE の UX が大きく損なわれました…
それが 10.3.2 では、フリッカーや動作の重さ、などが改善されています。
これだけでも 10.3.2 にする価値があります。
ただし、IDE のツールバーが起動時に移動してしまうバグは直っていません…

image.png

まとめ

待望の macOS 64bit サポートです。
また夏には Android 64bit に対応した Delphi 10.4 β版の提供が予定されています
2019/8/1 から 64bit に対応していないアプリは Google Play にアップできなくなるので、早めに対応して欲しいですね。

pik
シリアルゲームズ取締役 エンバカデロ・テクノロジーズ Delphi MVP Delphi で iOS / Android / Windows / macOS / Linux のアプリを作ったりしてるみたい。 たまに C#, .NET, Unity も使ってます。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away