ざつだ ん。 (2015/09/01~)
2015/09/01
RAD Studio 10 Seattle
XE9 ではなかったのね。RAD Studio 10 Seattle がリリースされました。
キャンペーンが開始されていますが、キャンペーンの価格はアップデートサブスクリプション抜きの価格ですのでご注意!また、9/29 まではアップデートサブスクリプションに加入しなくてもキャンペーン価格で購入できますが、それを過ぎるとキャンペーン価格の適用はアップデートサブスクリプション加入とセットになります。今回は 9/29 までならバージョンアップ対象者でなくてもキャンペーン価格で購入できます (Delphi 1~XE8 ユーザで同一価格)。
以下はダウンロードリンクです。
*1 は事前に DL する方向けで、*2 は登録ユーザ向けの DL となります…つまり、*1 はアップデートサブスクリプション加入者が初回インストールのために使うものです (アップデートサブスクリプション加入者向けの Web インストーラの DL 先はメールで送られてきます)。
機能一覧に New in 10 Seattle! とある機能は以下の通りです。
- 新しい Win32 向け C++ 11 Clang ベースコンパイラ (bcc32c) (C++)
- ネイティブ Android サービスの作成をサポートする FMX アプリケーションプラットフォーム (Delphi)
- FireMonkey ビジュアルコントロールでツールチップ (ShowHint) をサポート
- Windows 向けネイティブスタイル表示 (TEdit および TMemo 向けの Windows プラットフォーム表示)
- FireMonkey コントロールの Windows 向け Z オーダーサポート
- ビットマップのコピー/ペーストを可能にするクリップボードサポート
- Android プラットフォーム向けタッチアニメーション
- Android 上でのどのように Intent を受け取るかを示した新しいデモ
- iOS 向けプラットフォーム表示を実装した TScrollBox コントロール
- ビーコンに接続するデバイスのチューニングを行うための新しい TBeaconDevice クラス
- OS X 上の他のアプリケーションにデータをドラッグ可能にする IFMXDragDropService の使用
- ビットマップスタイルデザイナでの Windows 10 スタイル向けスタイルビューワー
- VCL アプリケーション向け高 DPI / 4K モニタサポートと Windows 8.1 / 10 マルチモニターサポート
- いくつかの新しい Windows 10 UI コントロールに対応する新しいカスタム VCL コントロール (旧バージョンの Windows でも利用可能)
- 新しい TActivityIndicator VCL コントロール
- 新しい TSearchBox VCL コントロール
- 新しい TRelativePanel VCL コントロール
- 新しい TToggleSwitch VCL コントロール
- 新しい TSplitView VCL コントロール
- SelectDirectory 関数で表示されるダイアログのモダン外観表示
- マイクロソフトのモダンなルック&フィールに合致したアプリケーションを構築できる Windows 10 固有の VCL スタイル
- コモンダイアログと TWebBrowser コンポーネントのスタイルサポートを含む VCL スタイルの改善
- Android サービスを作成し、これを既存の Android アプリに追加できるウィザードを含む Android サービスの IDE でのサポート
- 40 以上の Object Pascal インターフェイスユニットを用いた WinRT API 呼び出しのサポート
- TNotificationCenter コンポーネントによる Windows 10 通知のサポート
- 他の Windows 10 アプリケーションと情報を共有するシステムメカニズム「コントラクト」のサポート (アプリはコントラクトソースのように動作)
- TJsonReader および TJsonWriter 基底クラスを含む JSON (JavaScript Object Notation) ストリーミングを実装
- 拡張 JSON の読み書きをサポートする TJsonTextReader と TJsonTextWriter クラスの実装
- BSON (バイナリ型 JSON) の読み書きをサポートする TBsonReader と TBsonWriter クラスの実装
- JSONArray や JSONObject を構築できる TJSONArrayBuilder および TJSONObjectBuilder クラスの実装
- JSON と BSON の前方移動のイテレーションを高速化する TJSONIterator
- IDE を大規模メモリアドレスモデルで構築 - IDE に組み込まれたコンパイラ、デバッガ、さまざまなツールでより大規模なメモリを利用可能
- コンパイラのユニットキャッシュのメカニズムを再設計 - 複数プロジェクトのあるプロジェクトグループをコンパイルするときに、メモリが不足してしたときに、古いユニットのメモリを解放
- IDE のマルチモニターサポートの改善 (2 番目の画面にフォームやペインを配置可能)
- 非ビジュアルコントロールの表示/非表示を切り替えられるフォームデザイナオプション (フォームの設計画面を整理可能)
- 対応するコンポーネントを認識可能にする構造ビューアイコン
- 保存していないファイルの自動修復 - 保存していない作業内容をあらかじめテンポラリ領域に保管。IDE が予期せず終了したとき (システムクラッシュなど) に、保存されていない作業の修復を試行
- アプリケーションを容易に高 DPI 対応にできる IDE プロジェクトオプションの改善
- 説明パネル、クイックアクションパネル、新しいフィルターボックスの表示 / 非表示が可能なオブジェクトインスペクタのレイアウトカスタマイズ
- オブジェクトインスペクタの表示項目をフィルター (検索) 可能
- コードエディタのポップアップメニューからフォントサイズ拡大/縮小が可能 (〔Ctrl〕+〔Num +〕/〔Ctrl〕+〔Num -〕)
- C++ の並列コンパイルのサポート
- プロトタイプ同期 - Delphi の関数のプロトタイプ変更に使えるため、Interfece セクションと Implementation セクションの同期をとるためにコードエディタ内で使用可能 (Delphi のみ)
- iOS 64-bit デバイスのリモートデバッグ
- モバイルプラットフォーム向け DUnitX のサポート
- FireDAC で NoSQL MongoDB データベースをサポート (FireDAC MongoDB ドライバも付属)
- FireDAC による TMongoConnection、TMongoDatabase、TMongoCollection などの MongoDB API ラッピングクラスのサポート
- メソッドビルダーによる MongoDB クエリー、パイプライン、アップデートコマンドなどのサポート
- MongoDB カーソルにデータセットをアタッチ可能にする TFDMongoDataSet、MongoDB コレクションへのクエリー実行を可能にする TFDMongoQuery、MongoDB コレクションへのパイプラインの実行を可能にする TFDMongoPipeline などの MongoDB 固有のデータセット
- 新しい UpdateOptions.AutoCommitUpdates プロパティの追加と TClientDataSet との互換性改善を含む FireDAC のキャッシュアップデートモードの改善
- DataSnap で HTTP および HTTPS 向けに System.NET を使用 (OpenSSL クライアントライブラリの配布が不要に)
- DataSnap アプリケーションで TFDSchemaAdapter を使うサンプル
機能一覧にしか載ってない新機能がまれにあったりするので念のために。
アップデートサブスクリプション加入者へは本日中にはプロダクトキー等の案内があるかと思います。ありました。件名は [Embarcadero RAD Studio 10 Seattle、Delphi 10 Seattleおよび C++Builder 10 Seattle アップグレード - オフィシャルメンテナンス通知] となっています。メールが迷惑フォルダに行っていないか確認してください。
RAD Studio 10 Seattle 購入シミュレーションツール
どれだけの需要があるかは不明ですが、一応今回も作ってみました。
※ 正確な金額は 価格表 を参照してください。
※ XE8 の時と違い、Starter / アカデミック版にもアップデートサブスクリプションが用意されています。これは朗報!
2015/09/02
RAD Studio 10 Seattle
難儀しましたが、なんとかインストールを完了しました。
何を難儀したかと言うと、多分 WiMAX2+ の帯域制限。WiMAX2+ を酷使したつもりはないけれど、昨日 PC を再起動した時に Windows Update が走ったので、バックグラウンドでイロイロ DL して帯域制限に引っ掛かってしまったのだろうと推測。月初なのでそうそう簡単に帯域制限に引っ掛かるハズはないし、動画の類も一切観ていないからだ。
作業中にチマチマリトライを繰り返し (ボタンを押し) て DL &インストールが完了したと思ったら、最後の Windows Software Development Kit のインストーラで詰んだ。アイツはリトライしてくれるけど、途中からはやってくれないっぽい。しかもリトライになるまでの時間がやたら長い。
そこで、修復セットアップを敢行。インストーラは DL されているので再セットアップはサクッと進む。ここまでは WinMAX2+ で作業。そして…
- Windows Software Development Kit のインストールになったら、インストーラをディスクに残す設定にする。
- 回線を Aquos K (SHF31) のテザリング (LTE) に切り替え。
- Windows Software Development Kit のインストーラが DL 完了。
- 回線を WiMAX2+ に戻す。
- 保存フォルダに DL された Windows Software Development Kit インストーラを手動で実行。
この手順でうまくいった。Android SDK / NDK でも同じような罠にハマると思うけれど、僕の場合には既に Android SDK / NDK をインストールしてあったので、DL はせずに後で設定だけ行った。まぁマトモな回線を引いていればこんな苦労はしなくて済むと思う。ちなみに ISO のダウンロードも途中で止まってダメだった (ダウンローダーを幾つか試したけどこれもダメ)。
それはそうと、Seattle って綴りは入力し慣れておらず Satellite って入力しそうになりますね。Sate って入力してから気付くんですよねぇ (w
Java2OP (RAD Studio 10 Seattle)
XE8 の Java2OP はそのままではマトモに動作しなかったけれど、10 Seattle の Java2OP は最初から bootclasses.jar / bootclasses.xml が用意されているのでちゃんと動作するようだ。但し、API レベルは 19 のまま。殆どの機能は API レベル 19 で事足りるとは思うけれど、10 Seattle のデフォルトの API レベルと一致していないのは少々気持ち悪い。
GetIt (RAD Studio 10 Seattle)
モダンになりました。
XE8 のがひどすぎたという話もあります。これってショーケースなんだから、それなりにキレイに作りこもうよ。
GetIt は IDE に直接実装されている訳ではない (と思う) ので、XE8 にもバックポートしてくれるといいんですが。
[Windows 10] パレットページ (RAD Studio 10 Seattle)
10 Seattle では VCL コンポーネントに [Windows 10] パレットページが追加されています。
- TActivityIndicator
Windows 10 の起動時にグルグル回るアイツです。IndicatorType プロパティで種類を変更でき、Animate プロパティを True にするとアニメーションします。
- TToggleSwitch
スライドスイッチです。オン/オフ というキャプションは StateCaptions プロパティで変更できます。スイッチの状態は State プロパティ (TToggleSwitchState 型) で変更します…二値なのになんで Boolean じゃないの?
- TSearchBox
検索アイコンの付いた EditBox です。検索アイコンが押された時のイベントは OnInvokeSearch です。
- TRelativePanel
(格子状に配置しない場合の) 位置関係を指定するパネルです。
- TSplitView
ハンバーガーアイコンを押した時に表示されるスライドメニューを実装できます。ビューを開くには Open メソッドを、閉じるには Close メソッドを呼び出します。
難しいようですが、実際にやってみれば簡単です。
See Also:
コンパイル状況表示 (RAD Studio 10 Seattle)
10 Seattle のコンパイル状況表示はのっぺりとしていて好きになれません。
XE8 と同じだと何の問題があったと言うのでしょうか?
問題ないトコはあまりいじってほしくないのですが。このスタイルにするなら "ヒント / 警告 / エラー" などの表示は右寄せではなく左寄せにしないと見にくいと思います。
追記: 2015/09/03
…って書いてたら
これには大爆笑!
IDE の憂鬱 (Blue IDE) (RAD Studio 10 Seattle)
XE8 からですが、IDE とツールバーが薄ら青く Windows 10 等とマッチしません (誰得やねん、この配色)。細川さんがカッとなってバージョンアップされたものがありますので有難く使わせて頂くことにします。
僕は Windows 10 を使っているので以下のような設定にしてみました。
- Target IDE: 10 seattle
- Font Name: Yu Gochic UI
- Font Size: 10
- Base Color: White ($FFFFFF)
ああ、スッキリ。なお、今回はコミュニティツールバーの色もちゃんと色変更に追従します。
痛 IDE (RAD Studio 10 Seattle)
らいなタンさんが早速 10 Seattle 対応版をリリースされた模様。
コードエディタのフォントサイズ変更 (RAD Studio 10 Seattle)
昨日コッソリ書いていますが、〔Ctrl〕+〔Num +〕/〔Ctrl〕+〔Num -〕でコードエディタのフォントサイズを動的に変更できるようになっています。むしろ「何故今まで付けていなかった!」と思える機能です。
非ビジュアルコンポーネントの非表示 (RAD Studio 10 Seattle)
フォームデザイナを右クリック、あるいは〔Ctrl〕+〔H〕で非ビジュアルコンポーネントを表示/非表示にできます (ツールバーにもボタンがあります)。非ビジュアルコンポーネント置き場を作る方向にはならなかったようです。まぁ、データモジュールに置けばスッキリはするのですが、ポップアップメニュー等 (アプリケーションの実装上) データモジュールに置けないものもありますからね。
プロパティの絞り込み (RAD Studio 10 Seattle)
10 Seattle ではオブジェクトインスペクタに検索ボックスが配置されており、ここにキーワードを入力する事でプロパティやイベントを絞り込むことができるようになりました (包括一致)。
これは便利です。TMS のコンポーネントのようにアフォみたいにプロパティが多いコンポーネントでは重宝する事でしょう (w
マルチモニタ構成のサポートの向上 (RAD Studio 10 Seattle)
僕は以前からマルチモニタ環境ですが、ちょっとよくわかりません。「IDE でのマルチモニタのサポートが向上し、ほとんどのフォームやペインをさまざまなセカンダリ モニタに配置できるようになりました。 」 とか 「2番目の画面にフォームやペインを配置可能」 とかいうのは以前からできています。
見つけた違いと言えば、マルチモニタ環境でセカンダリにペインを置いた状態でシングルディスプレイにした時の挙動です。従来ではペインが行方不明になっていましたが、10 Seattle ではちゃんとプライマリモニタに戻ってきます。このサイトにある Tips 的な事をやるようになったという事でしょうか?
構造ペインのアイコン (RAD Studio 10 Seattle)
構造ペインのコンポーネントアイコンですが、ツールパレットのアイコンと同じものが表示されるようになりました。
C++Builder のコンパイラ (RAD Studio 10 Seattle)
32 ビット Windows 用コンパイラ BCC32C が追加され、OS X 用以外のコンパイラは Clang ベース (LLVM) になりました。ただ、従来の 32 ビット Windows 用コンパイラ である BCC32 は未だ利用可能です…BCC32 が BCC32C で置き換えられたわけではありません。
従来ですと、C++Builder では 32bit / 64bit でコンパイラの素性が違うため、コードの記述に互換性がない事がありましたが、今回の BCC32C 追加によりこれが解消されました。Delphi との親和性においては BCC32 (C++) と DCC32(Delphi) の関係のようにはいかないでしょうが、C++Builder 単体製品で見ると Clang ベースのコンパイラを使う方が対称性があって自然だと思います…32bit / 64bit バイナリ用のソースコードがほぼ同一で済みますから。残るは OS X コンパイラですね。
32bit Windows アプリケーション用に使用されるコンパイラはデフォルトで (従来の) BCC32 になります。Clang ベース の BCC32C を使うようにするには、プロジェクトオプションで "従来の Borland コンパイラを使用" のチェックを外す必要があります。
2015/09/05
3分で読む 2009 からの RAD Studio の歴史
細かい事は抜きにして、(主に) コンパイラベースでみるとこんな感じです。
RAD Studio 2009
- Unicode 化じゃぁ!
- ジェネリクスじゃぁ!
- 無名メソッドじゃぁ!
- Delphi .NET はやめて Prism (Oxygene) 付けたろ!
- BDP (Borland Data Provider) のーなったから、DBX4 に制限つけたろ!Professional ではリモート接続禁止な!
- InstallAware 付けたろ!
- Delphi コンパイラ: DCC32 (Windows 32bit)
- C++ コンパイラ: BCC32 (Windows 32bit)
RAD Studio 2010
- Windows 7 (タッチ含む) 対応じゃぁ!
- 構文強化じゃぁ!
- RTTI 強化じゃぁ!
- IDE の言語切り替えに対応したで。
- Delphi コンパイラ: DCC32 (Windows 32bit)
- C++ コンパイラ: BCC32 (Windows 32bit)
RAD Studio XE
- "XE" なんてクロスプラットフォーム意識した名前付けたけど間に合わんかった…どないしよ?
- RadPHP (旧 Delphi for PHP / 現 HTML5 Builder) も追加すっか!これでギリ "クロスプラットフォーム" ちゃう?
- 単体製品に Starter Edition 追加すっか!
- 旧バージョンも貰えるようにしてお値打ち感を出すか!
- Blackfish SQL は…今回から付かん!
- Delphi コンパイラ: DCC32 (Windows 32bit)
- C++ コンパイラ: BCC32 (Windows 32bit)
RAD Studio XE2
- 64bit Windows コンパイラじゃ!…Delphi だけな。
- OS X コンパイラじゃ!
- クロスプラットフォームじゃ!
- FireMonkey じゃ!
- FastRepot 付けるで!
- OS X コンパイラは間に合ったな!
- iOS 開発間に合わん…FPC ツールチェインでお茶濁しとこ!FPC には C++ ないから Delphi だけな!
- Ultimate Edition 追加すっか!
- OS が新しい場合、この辺までの製品は "管理者として実行" でインストール&実行したほうがええで。
- Delphi コンパイラ: DCC32 (Windows 32bit), DCC64 (Windows 64bit), DCCOSX (OS X)
- C++ コンパイラ: BCC32 (Windows 32bit), BCCOSX (OS X)
RAD Studio XE3
- Windows 8 対応…やけど RT には非対応や。Microsoft のアホのせいで RT 用のコンパイラが作れんやんけ!
- しゃーないんでライブタイルと MetropolisUI 付けとくか。
- FireDAC 追加じゃ!
- RaveReport は…今回から付かん!
- InstallAware は…今回から付かん!
- C++Builder 用の 64bit Windows コンパイラは RTM には間に合わんかった!Clang ベースにして Update で追加じゃ!でも 32bit とソースコードの互換がなぁ…かと言って 32bit コンパイラを Clang ベースで差し替えたら Delphi との互換性がなぁ…。
- FPC ツールチェインによる iOS 開発は…やっぱなかった事にしよか!
- リファクタリングや!
- Delphi コンパイラ: DCC32 (Windows 32bit), DCC64 (Windows 64bit), DCCOSX (OS X)
- C++ コンパイラ: BCC32 (Windows 32bit), BCC64 (Windows 64bit / Clang), BCCOSX (OS X)
RAD Studio XE4
- iOS ネイティブコンパイラ作ったで!…Delphi だけな。
- Prism (Oxygene) は…今回から付かん!
- 今回から半年に一度のメジャーリリースや!
- Starter では BDE 使えんようにしよ。
- リファクタリングや!
- Delphi コンパイラ: DCC32 (Windows 32bit), DCC64 (Windows 64bit), DCCOSX (OS X), DCCIOS32 (iOS シミュレータ用), DCCIOSARM (iOS デバイス用)
- C++ コンパイラ: BCC32 (Windows 32bit), BCC64 (Windows 64bit / Clang), BCCOSX (OS X)
RAD Studio XE5
- Android ネイティブコンパイラ作ったで!…Delphi だけな。
- C++Builder 用の iOS ネイティブコンパイラ作ったで!
- 姉妹品の Appmethod も作ったで!
- Professional にも最低限の FireDAC 付けたろ!制限は DBX4 準拠な!
- リファクタリングや!
- Delphi コンパイラ: DCC32 (Windows 32bit), DCC64 (Windows 64bit), DCCOSX (OS X), DCCIOS32 (iOS シミュレータ用), DCCIOSARM (iOS デバイス用), DCCAARM (Android)
- C++ コンパイラ: BCC32 (Windows 32bit), BCC64 (Windows 64bit / Clang), BCCOSX (OS X), BCCIOSARM (iOS デバイス用 / Clang)
RAD Studio XE6
- C++Builder 用の Android ネイティブコンパイラ作ったで!
- コンパイラ大体出揃ったんで、リファクタリングはもうええかな?
- リチャージ始めるで!
- Delphi コンパイラ: DCC32 (Windows 32bit), DCC64 (Windows 64bit), DCCOSX (OS X), DCCIOS32 (iOS シミュレータ用), DCCIOSARM (iOS デバイス用), DCCAARM (Android)
- C++ コンパイラ: BCC32 (Windows 32bit), BCC64 (Windows 64bit / Clang), BCCOSX (OS X), BCCIOSARM (iOS デバイス用 / Clang), BCCAARM (Android / Clang)
RAD Studio XE7
- Bluetooth とかに対応したで!
- FireUI や!
- BDE はもうええやろ!
- え?iOS 64bit アプリ作れんとリジェクトされるやん…どないしよ?
- リチャージ打ち切ってアップデートサブスクリプション始めるで!
- Delphi コンパイラ: DCC32 (Windows 32bit), DCC64 (Windows 64bit), DCCOSX (OS X), DCCIOS32 (iOS シミュレータ用), DCCIOSARM (iOS デバイス用), DCCAARM (Android)
- C++ コンパイラ: BCC32 (Windows 32bit), BCC64 (Windows 64bit / Clang), BCCOSX (OS X), BCCIOSARM (iOS デバイス用 / Clang), BCCAARM (Android / Clang)
RAD Studio XE8
- iOS 64bit コンパイラ追加したで!
- うーん、モバイル開発やらん奴にはあまり変化がないな…よっしゃ Castalia 追加や!
- Delphi コンパイラ: DCC32 (Windows 32bit), DCC64 (Windows 64bit), DCCOSX (OS X), DCCIOS32 (iOS シミュレータ用 32bit), DCCIOSARM (iOS デバイス用 32bit), DCCIOSARM64 (iOS デバイス用 64bit), DCCAARM (Android)
- C++ コンパイラ: BCC32 (Windows 32bit), BCC64 (Windows 64bit / Clang), BCCOSX (OS X), BCCIOSARM (iOS デバイス用 32bit / Clang), BCCIOSARM64 (iOS デバイス用 64bit / Clang), BCCAARM (Android / Clang)
RAD Studio 10 Seattle
- C++Builder 用の Clang ベースな 32bit Windows コンパイラも用意したで!
- Windows 10 対応や!
- Starter や アカデミックでもアップデートサブスクリプション加入できるようにしたで!
- Delphi コンパイラ: DCC32 (Windows 32bit), DCC64 (Windows 64bit), DCCOSX (OS X), DCCIOS32 (iOS シミュレータ用 32bit), DCCIOSARM (iOS デバイス用 32bit), DCCIOSARM64 (iOS デバイス用 64bit), DCCAARM (Android)
- C++ コンパイラ: BCC32 (Windows 32bit), BCC32C (Windows 32bit / Clang), BCC64 (Windows 64bit / Clang), BCCOSX (OS X), BCCIOSARM (iOS デバイス用 32bit / Clang), BCCIOSARM64 (iOS デバイス用 64bit / Clang), BCCAARM (Android / Clang)
そんなこんなで RAD Studio には現在 14 個のネイティブコンパイラが含まれています…頭おかしいです (褒め言葉)。
※ この記事には主観と偏見がふんだんに盛り込まれていますので、決して鵜呑みにはしないでください (大体あってますけど)。
2015/09/08
おのれ Castalia!
10 Seattle では Castallia の機能をオフにしようとしても /NOCASTALIA オプションは効かないようです。
それはともかく、10 Seattle ではコードパラメータ補完が効きません (〔Shift〕+〔Ctrl〕+〔SPACE〕は効きます…イチイチ押さなければなりませんが)。
例えば ShowMessage() のパラメータを参照しようとして "ShowMessage(" まで入力すると、コードパラメータ補完によりパラメータがポップアップされるハズなのですが…されません。この問題は Castalia (相当の) キーバインドを一部無効にする事で解決できます。
具体的には [ツール|オプション...|エディタ設定|キーの割り当て]で スマート囲みキー を殺します。
See Also:
2015/09/09
10 Seattle での StringGrid
10 Seattle では設計時に設定した (VCL) の TStringGrid のサイズ (ColWidths / RowHeights) が *.dfm に保存されず、DefaultRowHeight / DefaultColWidth で初期化されてしまいます。
この問題は、恐らくサードパーティ製を含む多くのグリッドコンポーネントが影響を受けます。
端的に言えば、既存の VCL プロジェクトを 10 Seattle で開くと設計時に設定したセルサイズが初期化されて阿鼻叫喚という事になります。もちろん、コードでセルサイズを指定するようにすればいいのですが、StringGrid を使っているフォームがあまりにも多い場合には検証も大変です…よって、VCL アプリケーションのマイグレーションはこの問題が解決するまで待った方がいいかと思います。
See Also: