Delphi 2010 および C++Builder 2010 の新機能
出典: RAD Studio (日本語)
新機能 への移動
このリリースには、Delphi と C++Builder の両方でアプリケーションを開発するための重要な新機能が用意されています。
プロジェクト移行の詳細は、『RAD Studio 2010へのバージョンアップ 』を参照してください。
InstantOn バージョンの詳細は、『Delphi and C++Builder InstantOn FAQ』を参照してください。
目次 |
IDE の変更点
製品の使いやすさを劇的に向上させるための変更が IDE に多数施されています。
次の IDE 関連ブログ、ビデオも参照してください。
- Chris Bensen のブログ:『Embarcadero RAD Studio 2010』(英語版)
- Chris Bensen のブログ:『RAD Studio 2010 - The IDE』(英語版)
- ビデオ:『Check this out some of the new IDE features in Dephi 2010 and C++Builder 2010(IDE の新機能)』(英語版、Andreano Lanusse 解説)
- ビデオ:『RAD Studio 2010 Editor(RAD Studio 2010 エディタ)』(英語版、Mike Rozlog 解説)
コード エディタの変更点
- コードの折りたたみの有効化/無効化:[ツール|オプション...|[エディタ設定]オプション]ページに新たに用意された[コードの折りたたみ]チェック ボックスを使用すると、コード エディタでのコードの折りたたみを有効または無効にして、その設定をセッション間で維持することができます。 「コードを折りたたむ」および「コード エディタ」も参照してください。
- コード エディタで、現在のコード行または選択されたコード ブロックのインデントに Tab キーを使用できるようになりました。
- ファイルのドラッグ アンド ドロップ: コード エディタから[プロジェクト マネージャ]にファイルをドラッグ アンド ドロップできるようになりました。 ファイルはプロジェクトの指定位置に追加されます。 「ファイルを追加し削除する」を参照してください。
- Delphi では、ジェネリックスに関してもリファクタリングを使用可能:Delphi コードの編集時、ジェネリックスで使用されている識別子やメソッドに対して、名前の変更、パラメータの変更、メソッドの抽出の各リファクタリング操作を適用することができます。 リファクタリングはもうモデリングの内部機能ではないことに注意してください。コード エディタからリファクタリング操作を実行するために、プロジェクトのモデリング サポートを有効にする必要はありません。
- ソース コード フォーマッタ: コード エディタで Delphi コードまたは C++ コードを編集する際に、[編集|ソースの整形]コマンドを適用して、ソース コードを整形することができます。 [フォーマッタ オプション]ダイアログ ページ([ツール|オプション...|フォーマッタ])で、[インデント]、[スペース]、[改行]、[大文字表記]の各整形オプションを設定できます。
- コード エディタでのソース コード ファイル編集時に、[プロジェクト|QA 検査...]コマンドおよび[プロジェクト|QA 測定...]コマンドでソース コード検査/測定を起動できるようになりました。 ソース コード検査/測定はもうモデリングの内部機能ではありません。コード エディタから検査/測定を実行するために、プロジェクトのモデリング サポートを有効にする必要はありません。 検査機能を使用して条件文の重複コードを検出する方法については、Mike Rozlog の解説によるビデオ『Audits DCC in Delphi 2010(Delphi 2010 の DCC 検査機能)』(英語版)を参照してください。
- コード補完の変更点:
- C++ では、コード補完は C++ スコープ演算子(::)に効果があります。 クラス名に続いてコロンを 2 つ(::)入力すると、コード補完ウィンドウが直ちに開きます(
Ctrl+Spaceを押してコード補完を起動する必要はありません)。 - Delphi では、コード補完は Delphi 予約語に効果があります。ただし、[支援機能]オプション ページ([ツール|オプション...|エディタ設定|支援機能])でそれらの表示を有効にした場合に限ります。
- Delphi の場合も C++ の場合も、
Escキーを押せば、コード補完要求をキャンセルしたり、表示されたコード補完ウィンドウを閉じることができます。 この機能は、C++ の場合のみ新規に導入されたものです。
- C++ では、コード補完は C++ スコープ演算子(::)に効果があります。 クラス名に続いてコロンを 2 つ(::)入力すると、コード補完ウィンドウが直ちに開きます(
- 「コード補完」を参照してください。
- アイコンのドラッグ アンド ドロップ: コード エディタ ウィンドウの左マージン領域で、特定のアイコンを移動できるようになりました。 たとえば、
- ブレークポイント アイコン: ブレークポイントを移動しても、元のブレークポイントの設定は保たれます。 ブレークポイントの詳細は、「ブレークポイントを設定し変更する」を参照してください。
- ブックマーク アイコン: ブックマークを移動しても、番号は元のブックマークと同じです。 ブックマークの詳細は、「ブックマーク」を参照してください。
- 指示ポインタ記号
: このアイコンは、(デバッグ中に)次に実行するコード行を示します。
[プロジェクト マネージャ]の変更点
- [プロジェクト マネージャ]の表示内容のソート:新しい[全プロジェクトのソート]ツールバー ボタンを利用すると、[プロジェクト マネージャ]に表示されている項目を名前、タイム スタンプ(変更された日付)、パス名、ファイルの種類のいずれかでソートすることができます。 [自動ソート]を指定することもでき、その場合は、プロジェクトまたはプロジェクト グループに項目を追加すると、現在指定されているソート順に表示されます。 「[プロジェクト マネージャ]」を参照してください。
- [ここから下をすべてコンパイル]と[ここから下をすべてビルド]: [プロジェクト マネージャ]に表示されるプロジェクトのコンテキスト メニューには、以下を実行できる[ここから下を]コマンドが新たに含まれています。
- [ここから下をすべてコンパイル]
- [ここから下をすべてビルド]
- [ここから下をすべてクリーンアップ]
- これら 3 つのコマンドはそれぞれ、対象プロジェクトの選択ノードを起点として、コンパイル、ビルド、クリーンアップの各操作を起動します。 これらのコマンドについては、「プロジェクトのコンテキスト メニュー」を参照してください。
- [すべてコンパイル]、[すべてビルド]、[すべてクリーンアップ]: これらの新しいコンテキスト メニュー コマンドは、複数のプロジェクトが含まれているプロジェクト グループの場合に使用できます。 「プロジェクト グループのコンテキスト メニュー」を参照してください。
- [プロジェクト マネージャ]に表示されるプロジェクトのコンテキスト メニューには、設計時パッケージをインストールまたはアンインストールできる[インストール]/[アンインストール]コマンドが新たに含まれています。
- [プロジェクト マネージャ]の[アセンブリ コードにコンパイル]コマンド:この新しいコンテキスト メニュー コマンドは C++ の場合のみ使用できるもので、C++ コマンドライン コンパイラ: BCC32 の -S オプションと同じ機能を果たします。 「[プロジェクト マネージャ]」を参照してください。
[ツール パレット]の変更点
- 新しいコンポーネント ツールバー(オプション)には、通常の[ツール パレット]で使用できるカテゴリとコンポーネント([Standard]、[Data Access]など)がすべて含まれています。
- コンポーネント ツールバーを有効にするには、[表示|ツールバー|コンポーネント]コマンドを使用します。 コンポーネント ツールバーが有効な場合は、コンポーネント ツールバーと[ツール パレット]のどちらを使用しても、アプリケーションにコンポーネントを追加できます。 コンポーネント ツールバーのタブをクリックすると、そのカテゴリ内のコンポーネントを表すアイコンが表示されます。 そこでコンポーネントのアイコンをクリックすると、そのコンポーネントがフォームに追加されます。
- 「コンポーネント ツールバーを有効にする」を参照してください。 Nick Hodges のブログ『RAD Studio 2010 - IDE Features: "Old School" Tool Palette(RAD Studio 2010 - IDE の機能: "昔風の" ツール パレット)』(英語版)と Andreano Lanusse のブログ『How to configure Delphi 2010 to look, work, and feel like Delphi 7(Delphi 2010 を Delphi 7 のような外観、機能、操作感に構成する方法)』(英語版)も参照してください。
- [ツール パレット]でのカテゴリ名の変更:新しい[カテゴリ名 "<現在の名前>" の変更]コンテキスト メニュー コマンドを使用すれば、[ツール パレット]に表示されているカテゴリ名を変更できます。 「[ツール パレット]でカテゴリ名を変更する」を参照してください。
- [ツール パレット]のヒント:パレットに表示されているコンポーネントの上にマウス ポインタを持っていくと、コンポーネント名、ユニット名、設計時パッケージ名などの基本情報が含まれたヒントが表示されます。
検索コマンドの変更点
さまざまな検索コマンドの機能が以下のとおり強化および拡張されました。
- [検索|検索...]コマンド(Ctrl+F)は設計変更され、ダイアログ ボックスとしてではなく、コード エディタ ウィンドウの下端にタスク バーとして表示されるようになりました(「[検索]」も参照)。
- IDE では、検索一致箇所がすべて強調表示されます。 最初に見つかった一致箇所とそれ以外の一致箇所は異なる色で強調表示されます。
- 使用される 2 つの色は、IDE の配色であらかじめ定義されています。
- [ツール|オプション...|エディタ設定]の[色]ページで、[追加の検索一致部分の強調表示]要素の前景色と背景色を選択することにより、これらの色をカスタマイズすることができます。
- 検索一致箇所をすべて強調表示しないようにするには、[ツール|オプション...|エディタ設定]の[一致する検索結果をすべて表示]をオフにします。
- [インクリメンタル サーチ]の場合も、新しい検索バー(
)が表示されます。 検索文字列フィールドに入力するか、以前使用した検索文字列のリストから選択すればよいだけです。 入力するにつれて、最初に一致した結果がエディタで強調表示され、一致する他のインスタンスがすべて別の色で強調表示されます。
- [ファイル内の検索]ダイアログ ボックス([検索|ファイル検索...])には、
*.pasや*.cppなどのワイルドカードによる指定が可能な新しい[ファイル マスク]フィールドがあります。 また、複数のディレクトリを指定することもできます。それには、[ディレクトリ]フィールドでディレクトリ名をセミコロンで区切るか、新しい[フォルダとグループ]ボタンをクリックして[ディレクトリの選択]ダイアログ ボックスを開きます。 [ディレクトリの選択]では、ディレクトリ リストとディレクトリ グループを作成できます。 詳細は、以下を参照してください。 - IDE インサイト: 特定のコマンドを使用したかったが、そのコマンドが含まれているメニューを思い出せなかったことはこれまでにありませんか。 IDE インサイトがそれを解決します。 新しい[IDE インサイト]検索ボックスを利用すると、文字列を入力したあと、それに一致する IDE 内および現在のプロジェクト環境内の全項目のリストから選択することができます。 [IDE インサイト]ボックスには、[コマンド]、[ファイル]、[プロジェクト オプション]、[設定]などのカテゴリの一覧が表示されています。
- [IDE インサイト]では、検索文字列を入力するにつれてインクリメンタル検索が実行されます。つまり、 [IDE インサイト]ボックスには、入力文字列に一致する項目が含まれているカテゴリのみと、その各カテゴリ内で最も一致するものが 1 つだけ表示されます。 [IDE インサイト]ボックスで
Alt+Aまたは該当するボタンを押すと、全カテゴリの表示(カテゴリごとに最も一致するものを 1 つさらに表示)と一致する全項目の表示(探しているものを見つけるのにリストをスクロールしなければならない可能性があります)を切り替えることができます。
- [IDE インサイト]ボックスで項目をダブルクリックすると、それに関連付けられているアクションを IDE が自動的に呼び出すか実行します。 たとえば、「開く」と入力すると、"開く" という文字列が含まれている現在使用可能な項目がすべて一覧表示されます。 ダイアログ ボックスの名前をダブルクリックすると、そのダイアログ ボックスが開きます。 コンポーネント(たとえば TOpenDialog など)をダブルクリックすると、そのコンポーネントがアクティブ フォームに自動的に追加されます。
- [IDE インサイト]検索ボックスを開くには、[検索|IDE インサイト...]を選択するか、
F6(Classic エディタまたは Brief エディタのキー バインディングではAlt+F1)を押します。 「[IDE インサイト]を使用して IDE 内で項目を検索する」および「IDE インサイトで検索を制御する」を参照してください。
- Nick Hodges のブログ『RAD Studio 2010 - IDE Features: IDE Insight(RAD Studio 2010 - IDE の機能: IDE インサイト)』(英語版)も参照してください。
[新規作成]ダイアログ ボックスの変更点
[新規作成]ダイアログ ボックス([ファイル|新規作成|その他...])はギャラリーとも呼ばれ、以下の新機能を備えています。
- 新しいフィルタ付き検索ボックス(
)を使用すると、ギャラリーに表示される項目の名前に一致する部分文字列を指定できます。
- この新しいフィルタ付き検索ボックスでは、入力する文字列の先頭と末尾に暗黙の *(0 個を含む任意個の文字に一致)が付きます。 ? および * の両ワイルドカードも使用できます。
- 検索文字列を入力すると、それに一致する項目が含まれているページのみ表示され、それらのページでは一致する項目のみ表示されます。
- たとえば、"モジュール" という単語が名前に含まれているコンポーネントをすべて表示するには、部分文字列 "モジュ" を入力するだけでよいのです。
- [新規作成]ダイアログ ボックスには、使用できる項目と使用できない項目がどちらも表示されるようになりました。 これまでのバージョンでは、ギャラリーには、現在使用できる(つまり、現在のコンテキストでサポートされている)コンポーネントのみ表示されていました。 現在使用できないコンポーネントも表示されますが、それらは淡色表示されており、使用できないことを示します。
- プロジェクトに空のファイルを追加し、そのファイル拡張子を指定できます。 [ファイル|新規作成|その他...|その他のファイル]ページには新しい[テキスト ファイル]項目が含まれており、これを選択すると、[新規ファイル]ダイアログ ボックスが開きます。 ファイルの種類を一覧から選択するか入力することができます。 「ファイルを追加し削除する」を参照してください。
- [新規作成]ダイアログ ボックスを表示するには、[ファイル|新規作成|その他...]を選択します。
IDE に関するその他のさまざまな変更点
- バックグラウンド コンパイル:IDE では、Delphi と C++ のどちらを使ってコンパイルを起動することもでき、ユーザーが作業を続けている間にバックグラウンドでコンパイルを完了します。 バックグラウンド コンパイルを有効にするには、[オプション]ダイアログ ボックスの[環境オプション]ページで[バックグラウンド コンパイル]チェック ボックスをオンにします。 「バックグラウンド コンパイル」およびビデオ『How To Run Your Delphi Compiler In the Background(バックグラウンドで Delphi コンパイラを実行する方法)』(英語版、Mike Rozlog 解説)も参照してください。
- サイズ変更可能な[ツール|オプション...]ダイアログ ボックス:[ツール|オプション...]ダイアログ ボックスの任意の辺または隅をクリックしてドラッグすることで、ボックスのサイズを変更できるようになりました。
- [ファイル|開き直す]コマンドを使用すると、最近開いたプロジェクトやファイルをドロップダウン メニューから選択できます。 新しい[[開き直す]メニューのプロパティ]ダイアログ ボックス([ファイル|開き直す|プロパティ...])では、開き直しリスト に表示されるプロジェクトやファイルの最大数を指定できます。 「[開き直す]」および「[開き直す]メニューのプロパティ」を参照してください。 Nick Hodges のブログ『RAD Studio 2010 IDE Features: File|Reopen(RAD Studio 2010 - IDE の機能:[ファイル|開き直す])』(英語版)も参照してください。
- 新しいライブ テンプレート:[テンプレート]ウィンドウから使用できるライブ テンプレートのライブラリに、例外を発生させる(Delphi の場合)または例外を送出する(C++ の場合)ためのテンプレートが新たに追加されました。
- [表示|メッセージ]: この新しいコマンドを使用すると、[メッセージ]ウィンドウを明示的に開くことができます。
- [オブジェクト インスペクタ]のヘルプ:[オブジェクト インスペクタ]に関するいくつかのヘルプ トピックが Delphi 7 から復活しました。たとえば、「[プロパティ]ページ」、「[オブジェクト インスペクタ]でプロパティを表示する方法」などです。 これらのトピックは、「入門」セクション内の「[オブジェクト インスペクタ]について:インデックス」に含まれています。
次のブログ、ビデオも参照してください。
- Chris Bensen のブログ:『Embarcadero RAD Studio 2010』(英語版)
- Chris Bensen のブログ:『RAD Studio 2010 - The IDE』(英語版)
- ビデオ:『Check this out some of the new IDE features in Dephi 2010 and C++Builder 2010(IDE の新機能)』(英語版、Andreano Lanusse 解説)
Delphi コンパイラの変更点
Delphi コンパイラの変更点は以下のとおりです。
- Delphi RTTI(Run Time Type Information:実行時型情報)機能の強化。 詳細は、次のドキュメントを参照:
- 『Win32 開発者ガイド』の新しいセクション「RTTI の操作」
- RTTI 指令(Delphi)
- WEAKLINKRTTI 指令(Delphi)
- Rtti Unit
- 『Delphi 言語ガイド』の新しい章「属性」
- ビデオ『Delphi Compiler RTTI Enhancements(Delphi コンパイラ - RTTI 機能強化)』(英語版、Barry Kelly 解説)
- as 演算子は、インターフェイス参照をその抽出元であるオブジェクトにキャストするのに使用できます。 「オブジェクトへのインターフェイス参照のキャスト」を参照してください。
- is 演算子は、インターフェイス参照が特定のクラスから抽出されたものであるかどうかを確かめるのに使用できます。 「オブジェクトへのインターフェイス参照のキャスト」を参照してください。
- *TObject(SomeInterface)* などと安全でない通常のキャストをインターフェイスに対して実行できます。 「オブジェクトへのインターフェイス参照のキャスト」を参照してください。
- DLL などの外部ライブラリが宣言時にロードされずにライブラリへの呼び出しが初めて行われるまで待つことを、新しい delayed 指令で指定できるようになりました。 詳細は、「ライブラリとパッケージ - 遅延ロード」を参照してください。
C++Builder 2010 の変更点
C++Builder 2010 では、以下の主要機能が新たに導入されたか、大幅に変更されました。
- C++ クラス エクスプローラ: この強力なクラス ブラウザを使用すれば、プロジェクトに含まれている型に関するより多くの情報を抽出できます。 C++ クラス エクスプローラ([C++ Class Explorer])の 3 つのペインでは、クラス、インターフェイス、フィールド、メソッド、プロパティの詳細な情報が表示されるほか、それらの宣言や定義を参照することができます。
- [ソース]/[参照]/[グラフ]ウィンドウの[グラフ]タブには、型リストで選択した項目の継承階層がグラフィカルに表示されます。
- 型リストでは、各種の分類コマンドにより、プロジェクトを以下のさまざまなビューに整理して表示することができます。
- プロジェクトのクラス階層別表示
- ファイル別表示
- 名前空間別表示
- カスタム分類表示
- フィールド、メソッド、プロパティの作成は、コンテキスト メニュー コマンドで自動的に行われます。 「C++ クラス エクスプローラのトピック」を参照してください。
- Boost ライブラリ:C++Builder 2010 では、これらの汎用ライブラリのバージョン 1.39 が使用可能です。
- Boost ライブラリの C++Builder 実装についての詳細は、「Boost ライブラリ」を参照してください。
- Boost ライブラリのヘルプについては、http://www.boost.org/doc/libs/1_39_0/libs/libraries.htm を参照してください。
- セキュア C ライブラリが C ランタイム ライブラリに追加されました。 fscanf_s や fwscanf_s などのセキュア C 関数では、文字配列の範囲チェックが行われ、データが配列の終端を越えて書き込まれることは決してないため、バッファ オーバーフローを防止できます。
- C++ コンパイラ(BCC32.exe)では、以下の新しいコマンドライン オプションをサポートしています。
- -Cx: SAVEMEM の最大サイズを MB 単位で指定します。
- -Vbu: テンプレートで古い形式の 'using' 構文を使用可能にします。 C++Builder 2009 およびそれ以前のバージョンでは、オーバーロードがある場合、テンプレート内での 'using' は機能しませんでした。 -Vbu オプションを指定すると、この機能が維持されます。
- [[deprecated]] 属性がコンパイラでサポートされるようになったため、ユーザーは構文要素に非推奨のフラグを立てることができ、その場合、コンパイラは警告(W8111 非推奨のエンティティ %s にアクセスしています(C++))を発行します。 「C++ - deprecated 属性」を参照してください。
- #pragma once がコンパイラでサポートされるようになったため、ユーザーはこの方法でも重複インクルードの問題に対処できます。
- エイリアス レコード(#pragma alias)を管理するための新しいユニットが追加されたため、現在は、Unicode エイリアス用と非 Unicode エイリアス用に 1 つずつ、合計 2 つのレコードがあります。
- 「C++ 言語の VCL サポート」がレビューされ、C++Builder 6 のヘルプからオンライン ヘルプに復活しました。 このセクションには、RAD Studio で Object Pascal と連携する際の要件によって生じる標準 C++ と C++Builder の違いに関する重要な情報が含まれています。
モデリングの変更点
モデリングの概要については、Mike Rozlog の解説によるビデオ『UML Visualize With RAD Studio 2010(RAD Studio 2010 での UML 可視化)』(英語版)を参照してください。
UML モデリング コンポーネントの変更点は以下のとおりです。
- グラデーション色表示。 [ダイアグラム]ビューでは、背景とノードのグラデーション色表示をサポートしています。 実装できるグラデーション色表示レベルは以下のとおりです。
- 背景 - [ダイアグラム]ビューで背景全体のグラデーション色表示を使用できます。 背景のグラデーション色表示に用いる 2 つの境界色を指定できます。
- ノード - [ダイアグラム]ビューでノードのグラデーション色表示を使用できます。 ノードのグラデーション色表示に用いる 2 つの境界色を指定できます。
- ノードのメタクラス - 異なる種類のノードのグラデーション色表示に用いる色を何らかの定義済み配色から選んで適用することを指定できます。 ノード(インターフェイス、列挙型、クラス、関連クラスなど)のいくつかのグループ(メタクラス)ごとに、異なるグラデーション色ペアが定義されます。
- 特定のノード - [オブジェクト インスペクタ]で、任意のノードのグラデーション色表示に用いる特定の色ペアを設定できます。
- メンバの作成。 [ダイアグラム]ビューでは、以下のような便利な方法でメンバを新規作成できます。
- [+]を使用して区画にメンバを追加する - ノードで、区画名領域の右端にある[+]ツール ボタンを使用して、対応するメンバを分類子に追加できます。 区画名領域の '+' ツール ボタンをクリックするだけで、新しいメンバが表示されます。 メンバ名は編集可能な状態になっています。
- Insert キーを使用して[追加]コンテキスト メニュー コマンドを起動する - ノードをクリックし Insert キーを押します。 [追加]コンテキスト メニュー コマンドのサブメニューが開きます。 これは、このノードで右クリックして起動される標準コンテキスト メニューに含まれている[追加]コマンドの通常のサブメニューです。
- リンクの作成。 [ダイアグラム]ビューでは、以下のような便利な方法でノード間のリンクを作成できます。
- ノードの表示。 [ダイアグラム]ビューでのノードの表示が以下のように改善されました。
- [四角形の角を丸める]: このオプションは、矩形ノードの角を丸めるのに使用されます。
- すべての区画の折りたたみ/展開: [レイアウト|すべて折りたたみ]と[レイアウト|すべて展開]の 2 つのコンテキスト メニュー コマンドを使って、選択したノードのすべての区画を折りたたむ/展開することができます。
- 区画のないノード: [レイアウト|概要表示]コンテキスト メニュー コマンドを使用すると、選択したノードの区画をすべて非表示にすることができます。
- [[C++ のみ] クラス名の変更時にクラス ファイル名を変更]: このオプションは C++ モデルに使用されます。 [ダイアグラム]ビューまたは[モデル ビュー]でクラス名を変更すると、そのクラス コードが記述されているソース ファイルの名前がそれに応じて変更されることを指定します。 このオプションが[いいえ]の場合、ファイル名の変更は 1 回しか行われないことに注意してください。 クラスを作成すると、対応するファイルも作成されます。 初回の直接編集時にこのクラス名を変更すると、ファイル名もそれに応じて変更されます。 ただし、それ以降は、クラス名を変更しても、対応するファイル名は変更されません。
デバッガの変更点
デバッガについては、以下の主要機能が新たに導入されたか、大幅に変更されました。
- Tools API を使って、2 種類のカスタム データ ビジュアライザを作成およびプラグインできるようになりました。 本製品には、以下のようないくつかの組み込みデバッガ ビジュアライザが付属しています。
- TDateTime(Delphi および C++)
- std::string および std::wstring(C++ のみ)
- TStringList(Delphi および C++)
- [ツール|オプション...|デバッガ オプション|ビジュアライザ]ダイアログ ボックス ページと、ビジュアライザをサポートしているさまざまなデバッグ ウィンドウで、特定のビジュアライザを選択できます。 「デバッガ ビジュアライザ」および「デバッガ ビジュアライザの有効化/無効化」を参照してください。 ビジュアライザの詳細については、ビデオ『Debug Visualizer in RAD Studio 2010(RAD Studio 2010 のデバッグ ビジュアライザ)』(英語版)を参照してください。
- イベント ログが以下の点で刷新されました。
- イベント ログは、TStringGrid ではなく TVirtualStringTree として実装されるようになりました。 この変更により、ログ処理が速くなります。
- [イベント ログ]ウィンドウ内をクリックしイベントを選択することで、イベントのスクロールを止めることができます([ツール|オプション...|デバッガ オプション|イベント ログ]ページで[スクロールして新しいイベントを表示]オプションがオンになっている必要があります)。(「[イベント ログ]のオプション」を参照)。
- [イベント ログ]ウィンドウでは、複数行イベントは、以下のように行を分けて表示されるようになりました。
- 1 行目にイベントの種類が表示されます。
- その後の行にイベントのテキストが表示されます。
- 最後の数行にプロセス情報が表示されます。
- [イベント ログ]ウィンドウでイベント上にマウス ポインタを持っていくことで、非常に長いイベント メッセージをヒント ウィンドウに表示することができます。
- マルチスレッド アプリケーションで、以下の操作が可能になりました。
- 特定のスレッドにブレークポイントを設定すること。「ブレークポイントを設定し変更する」を参照してください。
- 特定のスレッドを凍結/凍結解除すること。「スレッドの状態」を参照してください。
- [新規監視式での副作用を許す]オプションは、[Embarcadero デバッガ]ページから[ツール|オプション...|デバッガ オプション]ページに移動すると共に、[新規監視式での副作用と関数呼び出しを許可]と名称変更されました。 [デバッガ オプション]ページにあるこのオプションは、[監視式のプロパティ]ダイアログ ボックスのオプション[副作用と関数呼び出しを許可]と同じです。
- [CPU]ウィンドウの[レジスタ]ペインには、新しい 3 つの[カーソル位置をアドレスと見なす]コンテキスト メニュー コマンドがあります。 これらの各コマンドを実行すると、CPU ビューに含まれている他のいずれかのペインで、現在選択されているレジスタに格納されているアドレスに対応する情報が強調表示されます。
- [カーソル位置をアドレスと見なす|近くのコード]の場合は、現在選択されているレジスタに格納されているアドレスに対応する情報が[逆アセンブル]ペインで強調表示されます。
- [カーソル位置をアドレスと見なす|データへのオフセット]の場合は、現在選択されているレジスタに格納されているアドレスに対応する情報が[メモリ #]ペインで強調表示されます。
- [カーソル位置をアドレスと見なす|スタックへのオフセット]の場合は、現在選択されているレジスタに格納されているアドレスに対応する情報がスタック ペインで強調表示されます。
- 以下のデバッグ ウィンドウには、新しいコンテキスト メニュー コマンドが用意されています。
- [デバッグ インスペクタ]:
- [監視式]
- [評価/変更...]
- [ビジュアライザ]
- [監視式一覧]ウィンドウ:
- [評価/変更...]
- [監視式の新規作成]
- [ビジュアライザ]
- [ローカル変数]ウィンドウ:
- [監視式]
- [評価/変更...]
- [ビジュアライザ]
- [デバッグ インスペクタ]:
データベースの変更点
データベース アプリケーション開発の支援を強化するため、以下の変更が施されています。
dbExpress
dbExpress に以下の機能が追加されました。
- dbExpress では、ドライバおよびフレームワークの点で以下を完全にサポートしています。
- Interbase 2009(To-Go を含む)
- MS SQL Server 2008
- MySQL 5.1
- Firebird
- MIDAS DLL のソースが付属しています。
- 日付/時刻関連の関数で、以下がサポートされるようになりました。
- ロケールに基づく文字列の書式設定
- ロケールに基づくタイムスタンプ オフセット
- 64 ビット整数が BCD ではなく BIGINT 型として表されるようになりました。
DataSnap
DataSnap の新機能は以下のとおりです。
- 開発者は、クライアントとサーバーの間の通信ストリームを処理することができます。
- DataSnap のトランスポート プロトコルとして HTTP を使用できます。
- DataSnap には、サーバーからクライアントに通知するためのコールバックが実装されています(非同期メソッド実行)。
再編成された DataSnap セクション「DataSnap アプリケーションの開発」と「多層アプリケーションの作成:インデックス」を参照してください。
DataSnap についての詳細ビデオは、『Developing Multi-Tier Solutions Using DataSnap(DataSnap を使用した多層ソリューションの開発)』、『DataSnap Tooling(DataSnap のツール)』、および『Building DataSnap Clients and Servers(DataSnap クライアントと DataSnap サーバーの作成)』(すべて英語版)をご覧ください。
VCL と RTL
バージョン 2010 にも当てはまる VCL ユーザー インターフェイス機能の新しい概要については、Marco Cantu によるテクニカル ノート『Building User Interfaces with Delphi 2009(Delphi 2009 によるユーザー インターフェイスの作成)』(英語版)を参照してください。
VCL(Visual Component Library)と Delphi ランタイム ライブラリには、以下の変更が施されています。
- ジェスチャ: 新しいジェスチャ フレームワークにより、アプリケーションでデフォルト ジェスチャ(タッチ)を扱えるほか、開発者がカスタム ジェスチャを作成することもできます。 新しいタッチ関連プロパティと新しい OnGesture イベントは、TControl から派生するすべての VCL コンポーネントに基づいて実装されています。 「ジェスチャ機能の概要」および「操作手順:ジェスチャ コンポーネントを使用するアプリケーションを作成する」を参照してください。 ジェスチャ使用の詳細については、ビデオ『RAD Studio 2010 Touch Gesture Capabilities(RAD Studio 2010 のタッチ ジェスチャ機能)』および『Delphi 2010: Using Touch Features and Gestures(Delphi 2010: タッチ機能とジェスチャの使用)』(どちらも英語版)を参照してください。
- タッチ キーボード: 仮想キーボードを使用するための新しいフレームワークが Keyboard ユニットに含まれています。 「タッチ キーボードの概要」を参照してください。
- 新しい Windows 7 Direct2D ベースのキャンバスをサポートする TDirect2DCanvas が追加されました。 VCL アプリケーションにおいて、TDirect2DCanvas はデフォルトでは有効になっていません。 キャンバスを手動で作成し、それを既存の GDI デバイス コンテキストに接続する必要があります。 「Direct2D キャンバスの使い方」を参照してください。
- WIC の TGraphic ラッパーである TWICGraphic が用意されており、これを利用することで、Direct2D アプリケーションのグラフィックスのロードが簡単になります。 TImage では、TIFF がサポートされるようになりました。
- 既存の PtInRect 関数に似た PtInCircle 関数が Types ユニットに追加されました。 PtInCircle は、指定された点が指定の円内に入っているかどうかを確かめます。
- Assign/AssignTo メソッドを使って、TIcon 画像を TBitmap 画像に割り当てることができるようになりました。
- TStringBuilder では、格納されている文字配列をクリアできる Clear メソッドをサポートするようになりました。
- TProgressBar では、Max、Min、Position の各 32 ビット プロパティをサポートするようになりました(それをサポートするプラットフォーム上に限る)。
- TDirectory、TPath、TFile の 3 つの静的クラスが含まれているユニット IOUtils が新たに追加されました。 これらのクラスは、I/O タスクに役立つ多数の static メソッドを公開しています。 大半のメソッドが .NET クラスである System.IO.Directory、System.IO.Path、System.IO.File と機能的にもシグニチャの点でも互換性があります。
- TIniFile と TRegistryIniFile で既存の ReadSections メソッドの動作が異なる点に対処するため、新しいメソッド ReadSubSections が TCustomIniFile に追加されました。
- Hint と CustomHint が TEditButton(TButtonedEdit の LeftButton と RightButton)の公開プロパティになりました。 ヒントが表示されるためには LeftButton と RightButton が可視でアイコンが適切に設定されていなければならず、TButtonedEdit の ShowHint プロパティが True でなければなりません。
- グリッド コンポーネント(TDrawGrid、TStringGrid、TDBGrid)にテーマ スタイルとグラデーション スタイルが追加されました。
- VCL と RTL の多くの関数がインライン化されました。
- TCategoryButtons コントロールが機能強化されて、ボタン キャプションとカテゴリ キャプションを直接編集できるようになりました。
- TThread の新しいメソッド NameThreadForDebugging により、名前を付けずに作成されたスレッドに名前を付けることができるようになりました。 また、NameThreadForDebugging を使用すると、指定したスレッドの名前を変更できます。 スレッド名は、デバッガの[スレッドの状態]タブでスレッド情報を指定するためにのみ使用されます。
Tools API
Tools API には、IDE とのやり取りや IDE の制御を行い、IDE の拡張やカスタマイズを可能にするインターフェイスが用意されています。 Tools API の大部分は、コード自身がドキュメントになっています。 詳細は、以下を参照してください。
- Tools API コード ファイル内のコメント
- IDE の拡張
Tools API の変更点は以下のとおりです。
- バージョン管理:インターフェイス IOTAProject への追加 以下の 2 つのインターフェイスも参照:
- IOTAVersionControlNotifier
- IOTAVersionControlServices
- スレッド:
- IOTABreakpoint でスレッド状況をサポートするようになりました。
- IOTAThread で以下をサポートするようになりました。
- スレッドの凍結/凍結解除
- スレッド名へのアクセス
- デバッガ評価モジュールを使用して、特定のクラスが別のクラスの下位クラスかどうかを判定すること
- デバッガ ビジュアライザ:以下でデバッガ ビジュアライザをサポートするようになりました。
- IOTADebuggerVisualizer
- IOTADebuggerVisualizerValueReplacer
- IOTADebuggerVisualizerExternalViewer
- 「デバッガ ビジュアライザ」も参照してください。
- ビジュアライザとブレークポイント: IOTADebuggerServices で以下をサポートするようになりました。
- モジュール ロード ブレークポイントへのアクセス
- ブレークポイントの削除
- ビジュアライザの登録および登録解除
- ドッキング可能なビュー:IDE でのドッキング可能なビューの作成/表示がサポートされるようになりました。 以下を参照してください。
- INTACustomDockableForm
- INTAServices の機能強化
- コードの折りたたみ:Tools API を使って実行できる "コードの折りたたみ" アクションの数が増え、コード エディタのローカル メニュー項目[コードを折りたたむ]および[コードを展開]でアクセスできるアクションにさらに近づきました。 インターフェイス「IOTAElideActions」を参照してください。
- ローカル言語: IOTAServices で、IDE の優先 UI 言語の取得がサポートされるようになりました。
- エディタの上部タブおよび下部タブ:エディタの新しいタブの作成/表示がサポートされるようになりました。 これには、エディタの上部タブの作成のほか、下部タブの追加が含まれます。 以下を参照してください。
- INTAEditorServices
- INTACustomEditorView
- INTACustomEditorViewState
- INTACustomEditorViewStatusPanel
- INTACustomEditorSubView
- IOTAEditorViewServices
- IDE インサイト:IDE インサイトへの追加がサポートされるようになりました。 以下を参照してください。
- INTAIDEInsightItem
- IOTAIDEInsightCategory
- IOTAIDEInsightNotifier
- IOTAIDEInsightServices
- コンパイラ サービス:
- IOTACompileNotifier
- IOTACompileServices
- [プロジェクト マネージャ]のローカル メニュー:
- IOTAProjectMenuItemCreatorNotifier
- IOTAProjectManager
- IOTAMenuContext
- IOTALocalMenu
- IOTAProjectMenuContext
- IOTAProjectManagerMenu
Chris Hesik のブログ『ToolsAPI enhancements(Tools API の機能強化)』(英語版)も参照してください。
SOAP のサポート
RAD Studio による SOAP サポートの新機能:
- クライアント側で SOAP 1.2 がサポートされるようになりました。 (メモ: 今回のリリースでは、サーバー側は 1.2 に対応していません)。
- 非推奨のオプションや使用されていないオプションがすべて削除されました。
オンライン ヘルプの変更点
- 新しいヘルプ構成: 左側のナビゲーション バーに表示されているとおり、ヘルプの大分類が変更されました。 最上位の新しい構成は、(これまでのように "共通" や "Win32" などの名前ではなく)主題に基づいています。 ただし、最上位を除くトピックの分類は、これまでの RAD Studio のヘルプ システムとよく似たものになっています。 「ヘルプの新機能と構成」を参照してください。
- 新しい docwiki: オンライン ヘルプは Wiki(http://docwiki.embarcadero.com/RADStudio/)で公開されるようになりました。 すべてのユーザーは、ドキュメントをレビューし、コメントや提案を寄せることが求められています。
- 本製品のリリースでは、ヘルプは H2 ヘルプとして、これまで同様、製品に付属しています(DExplore ビューアで開きます)。
- Delphi 7 トピック復活の続行: Delphi 7 のヘルプに含まれていたいくつかのトピックが現在のヘルプで復活しました。その中には以下のものがあります。
- 「[オブジェクト インスペクタ]について」: 新しいトピックが 7 個あります
- 「API カテゴリ」: Delphi の場合と似たルーチン一覧の更新/拡張版です。 API カテゴリには、さまざまな定数(たとえば バリアント型を表す定数など)やストリーム関連クラス(ストリーム、リーダー、ライター)も一覧されています。
- 「C++ 言語の VCL サポート」がレビューされ、C++Builder 6 のヘルプからオンライン ヘルプに復活しました。
- [ActiveX コントロール ウィザード]のヘルプが復活しました。 「ActiveX コントロールの作成」を参照してください。
関連項目
- [バックグラウンド コンパイル]
- [開き直す]メニューのプロパティ
- IDE インサイト
- [インクリメンタル サーチ]
- ファイル内の検索
- ディレクトリ グループの検索
- ディレクトリのリストの検索
- [ディレクトリの選択]ダイアログ ボックス
- デバッガ ビジュアライザ
- ソース コードを整形する
- RTTI の操作
- C++ クラス エクスプローラのトピック
- 多層アプリケーションの作成:インデックス
- ジェスチャ機能の概要
- タッチ キーボードの概要
- Direct2D キャンバスの使い方
- API カテゴリ
- ヘルプの新機能と構成
ブログ、ビデオ、プレビュー
- RAD Studio 2010 Preview Center(RAD Studio 2010 プレビュー/評価センター)
- Chris Bensen のブログ:『Embarcadero RAD Studio 2010』(英語版)
- Chris Bensen のブログ:『RAD Studio 2010 - The IDE』(英語版)
- ビデオ:『RAD Studio 2010 Touch Gesture Capabilities(Delphi 2010: タッチ機能とジェスチャの使用)』(英語版、David I と Chris Benson による解説)
- ビデオ:『Delphi 2010, Using Touch Features and Gestures(Delphi 2010: タッチ機能とジェスチャの使用)』(英語版、Anders Ohlsson 解説)
- ビデオ:『RAD Studio 2010 Editor(RAD Studio 2010 エディタ)』(英語版、Mike Rozlog 解説)
- ビデオ:『Debug Visualizer in RAD Studio 2010(RAD Studio 2010 のデバッグ ビジュアライザ)』(英語版、Mike Rozlog 解説)
- ビデオ:『Audits DCC in Delphi 2010(Delphi 2010 の DCC 検査機能)』(英語版、Mike Rozlog 解説)
- ビデオ:『How To Run Your Delphi Compiler In the Background(バックグラウンドで Delphi コンパイラを実行する方法)』(英語版、Mike Rozlog 解説)
- ビデオ:『Check this out some of the new IDE features in Dephi 2010 and C++Builder 2010(IDE の新機能)』(英語版、Andreano Lanusse 解説)
- ビデオ:『Building DataSnap Clients and Servers(DataSnap クライアントと DataSnap サーバーの作成)』(英語版、Bob Swart 解説)
- ビデオ:『Developing Multi-Tier Solutions Using DataSnap(DataSnap を使用した多層ソリューションの開発)』(英語版、Adrian Andrei 解説)
- ビデオ:『DataSnap Tooling(DataSnap ツール)』(英語版、Jim Tierney 解説)
- ビデオ:『UML Visualize With RAD Studio 2010(RAD Studio 2010 での UML 可視化)』(英語版、Mike Rozlog 解説)
- ビデオ:『Delphi Compiler RTTI Enhancements(Delphi コンパイラ - RTTI 機能強化)』(英語版、Barry Kelly 解説)
- Nick Hodges のブログ:『RAD Studio 2010 - IDE Features: IDE Insight(RAD Studio 2010 - IDE の機能: IDE インサイト)』(英語版)
- Nick Hodges のブログ:『RAD Studio 2010 IDE Features: File|Reopen(RAD Studio 2010 - IDE の機能:[ファイル|開き直す])』(英語版)
- Chris Bensen のブログ:『RAD Studio 2010 - Action(RAD Studio 2010 - アクション)』(英語版)
- Chris Hesik のブログ:『Thread-specific breakpoints(スレッド固有のブレークポイント)』(英語版)
- Chris Hesik のブログ:『ToolsAPI enhancements(Tools API の機能強化)』(英語版)
- Darren Kosinski のブログ:『Refactoring & Help Insight for Generics(ジェネリック型のリファクタリングとヘルプ インサイト)』(英語版)
- Nick Hodges のブログ:『RAD Studio 2010 - IDE Features: "Old School" Tool Palette(RAD Studio 2010 - IDE の機能: "昔風の" ツール パレット)』(英語版)
- Andreano Lanusse のブログ:『How to configure Delphi 2010 to look, work, and feel like Delphi 7(Delphi 2010 を Delphi 7 のような外観、機能、操作感に構成する方法)』(英語版)
- RAD Studio 2010 Migration Center(RAD Studio 2010 移行センター)