XE2 Update 2 のリリース ノート
出典: RAD Studio XE2
このファイルには、主な製品ドキュメントに含まれていない重要な補足事項が記載されています。エンバカデロ・テクノロジーズでは、このファイルのすべての内容に目を通されることをお勧めします。
このドキュメントでは、情報が RAD Studio XE2 または Delphi XE2/C++Builder XE2 の両方またはいずれかに適用する場合、"製品" と呼んで言及しています。
インストール、配置、およびライセンスに関する一般情報については、Install、Deploy、および License の各ファイルを参照してください。これらのファイルは、デフォルトで C:\Program Files\Embarcadero\RAD Studio\9.0 に置かれています。
目次
|
更新プログラムの入手
Delphi XE2 Update 2 および C++Builder XE2 Update 2 は MSI ベースのパッチであり、FireMonkey-iOS ツールおよびプラットフォーム アシスタントのインストーラや、更新されたスタイル ファイルも一緒に配布されます。これらのファイルのインストール手順については、「Update 2 の内容とインストール手順」を参照してください。
この更新プログラムを適用できるのは以下の製品だけです。
- Delphi XE2 Update 1
- C++Builder XE2 Update 1
- RAD Studio XE2 Update 1
更新プログラムは次の 3 とおりの方法でインストールできます。
- 自動アップデート メカニズム経由の更新
- 更新プログラムの手動での確認
- 登録ユーザー向け Web ページからのダウンロード
自動アップデート メカニズム経由の更新
この製品をインストールしたときに、"更新プログラムの確認を自動的に行います" を選択した場合は、更新プログラムがダウンロードできるようになったときに、自動的に通知されます。通知をクリックして、手順に従って、更新プログラムをダウンロードし、インストールします。
更新プログラムの手動での確認
更新プログラムの自動通知を受け取らない設定の場合は、手動で更新プログラムを確認できます。
- [スタート|プログラム|Embarcadero RAD Studio XE2|更新プログラムの確認]を選択します。
- [更新のタイトル]リストから、[RAD Studio XE2 Update 2]を選択します。
登録ユーザー向け Web ページからのダウンロード
Update 2 は、次の登録ユーザー向けダウンロード ページからダウンロードできます。
- Delphi XE2: http://cc.embarcadero.com/reg/delphi
- C++Builder XE2: http://cc.embarcadero.com/reg/c_builder
- RAD Studio XE2: http://cc.embarcadero.com/reg/rad_studio
アップデートをインストールするには、<delphicbuilder_xe2_upd2.zip> をユーザーのコンピュータにダウンロードして、zip ファイルを解凍します。
メモ: このアップデート プロセスは完了までに 15 分以上かかることがあります。インストールを開始したら、途中で停止しないでください。
この更新プログラムのアンインストール
この更新プログラムをアンインストールするには、製品全体をアンインストールし、その後、XE2 Update 1 インライン ビルドを再インストールする必要があります。更新プログラムだけをアンインストールすることはできません。
Update 2 の内容とインストール手順
XE2 Update 2 のインストール
Update 2 を開くと、更新プログラムがすぐにユーザーの %TEMP% フォルダに解凍され、その後、自動的に更新プログラムのインストールが行われます。
更新プログラムの解凍とインストールが終わると、Windows エクスプローラが開き、次の 4 つのフォルダが表示されます。各フォルダに含まれるファイルは、表の下に記載した手順に従って適宜インストールや解凍を行ってください。
| フォルダ名 | 内容 |
|---|---|
|
Update2 |
内容:
Update 2 インストーラは、更新プログラム自体を開くと自動的に実行されます。 |
|
PAServer |
更新されたプラットフォーム アシスタントのファイル(PAserver.exe など)が含まれます。これらのファイルは、Update 2 インストーラではインストールされません。「プラットフォーム アシスタント更新プログラムのインストール」を参照。 |
|
FireMonkey-iOS |
更新された FireMonkey-iOS のディスク イメージ(FireMonkey-iOS.dmg)が含まれます。このイメージには更新された FireMonkey-iOS-XE2 のインストーラが含まれます。これらのファイルは、Update 2 インストーラではインストールされません。「FireMonkey ツール更新プログラムのインストール」を参照。 |
|
Styles |
更新されたスタイル ファイルが含まれます。これらのファイルは、Update 2 インストーラではインストールされません。「更新されたスタイルのインストール」を参照。 |
メモ: Update 2 パッチのインストール中に "Insufficient privileges to modify bds.exe..."(bds.exe を変更する権限がありません)というエラー メッセージが出力される可能性があります。その場合には、[再試行]をクリックすると、更新プログラムのインストールが続行されます。
プラットフォーム アシスタント更新プログラムのインストール
プラットフォーム アシスタントをアンインストールするには:
- Windows の場合は、Uninstall PAServer.exe を使用してプラットフォーム アシスタントをアンインストールします。
- Mac の場合は、Uninstall コマンドを使用してプラットフォーム アシスタントをアンインストールします。
メモ: Uninstall プログラムは、PC の場合も Mac の場合も、プラットフォーム アシスタントのインストール ディレクトリにあります。
更新されたプラットフォーム アシスタントをインストールするには:
- Windows の場合は、PAServer.exe をダブルクリックします。
- Mac の場合は、PAServer.zip ファイルを Mac に移動し、PAServer.zip をダブルクリックします。
「ターゲット プラットフォームでのプラットフォーム アシスタント(paserver)のインストールと実行」を参照してください。
FireMonkey ツール更新プログラムのインストール
更新された FireMonkey-iOS ツールをインストールするには:
- FireMonkey-iOS.dmg ディスク イメージ ファイルを Mac にコピーします。
- FireMonkey-iOS.dmg をダブルクリックします。
詳細については、以下を参照してください。
- XE2 のインストール ノート#FireMonkey iOS の要件
- FireMonkey プラットフォームに必要な準備#iOS 開発のセットアップ
- XE2 のインストール ノート#Update 1 では iOS ツールの再インストールが必要
メモ: 今回のインストーラは Xcode 4.2 と互換になっています。Xcode 4.2 には iOS 5.0 SDK が含まれていますが、iOS 5 の新しい機能はサポートされていないことに注意してください。FireMonkey アプリケーションは iOS 5 が動作するデバイスに配置できます。
更新されたスタイルのインストール
更新されたスタイル ファイルをインストールするには: Styles フォルダのスタイル ファイルを解凍し、ご使用のシステムに配置します。
デフォルトでは、スタイル ファイルは C:\Users\Public\Documents\RAD Studio\9.0\Styles に保存されます。
一般的な注意事項
Update 2 のバグ修正一覧
この更新プログラムで修正された具体的な問題の完全なリストは、http://edn.embarcadero.com/en/article/41761 にある "Delphi XE2/C++Builder XE2 Update 2 における不具合修正リスト" を参照してください。
FireMonkey パッケージの再コンパイルが必要
次に挙げる 5 つの FireMonkey パッケージのバージョン番号が変わりました(元の XE2 のバージョン番号は 160 でしたが、161 に変わりました)。
- fmi161.bpl
- fmx161.bpl
- fmxase161.bpl
- fmxdae161.bpl
- fmxobj161.bpl
バージョンの変更に直接関係しているのはこの 5 つのパッケージだけです。ただし、上記の 5 つのパッケージのいずれかを必要としているパッケージはどれも、この変更によって間接的な影響を受けます。この 5 つのパッケージのいずれかを必要としているパッケージはすべて、再コンパイルする必要があります。
バージョン 161 のパッケージは、同じアプリケーションに含まれる同じ名前の既存のバージョン 160 のパッケージと互換性がありません。アプリケーションで 5 つのパッケージのうちどれかのバージョン 160 を使用している場合には、Update 2 を使ってアプリケーションを再コンパイルする必要があります(そうすればこの 5 つの FireMonkey パッケージのバージョン 161 がアプリケーションで使われるようになります)。
これらの FireMonkey パッケージのバージョン 160 を含む何らかのパッケージを IDE にインストールしようとすると、次のエラー メッセージが出力されます。
パッケージ <パッケージ名> をインストールする前に再コンパイルを行う必要があります。
このエラー メッセージが出力されたら、IDE でバージョン 160 のパッケージを再コンパイル手してください(または、パッケージの更新版を入手してください)。
必要な作業
- IDE に読み込まれているパッケージのバージョン番号を確認するには、[ヘルプ|Embarcadero RAD Studio のバージョン情報]を開き、[バージョン情報...]ボタンをクリックします。
- パッケージの再コンパイルが必要かどうかを確認するには、次のいずれかを行います。
- パッケージの .dpk ファイルを確認します。5 つの FMX パッケージのいずれかが requires セクションに含まれている場合には、インストールする前にパッケージを一度再コンパイルする必要があります。
- .bpl ファイルに対して TDump.exe を実行します。出力された結果のインポート セクションに 5 つのパッケージのいずれかが含まれている場合には、パッケージをビルドし直さないとインストールできないことがわかります。
追加または変更された FMX の型およびメソッド
Fmx.Bind.Editors.pas:
- TBaseListBoxItemEditorObject
System.Bindings.Consts.pas:
- sNilToVariant
- sNilTovariantDesc
- sToNotifyEventDesc
FMX.Import.pas:
- PGEVertex
- SetLocalPath
- TGEVertexSource.SetTextue0Source
FMX.Types.pas:
- TTextService
- TTextServiceClass
- TVirtualKeyboardType
- IVirtualKeyboardControl
- GetDefaultBitmapCodec
- TBitmapCodec.GetDefaultBitmapCodec
- TCanvas.GetDefaultCanvas
- TImeMode
- ITextServiceControl
FMX.Consts.pas:
- SControllerIdNotFoundError
FMX.Edit.pas:
- TCustomEdit.GetCaretPosition
- TCustomEdit.GetKeyboardType
- TCustomEdit.GetNextCharacter
- TCustomEdit.GetPrevCharacter
- TCustomEdit.GetText
- TCustomEdit.GetTextPoint
- TCustomEdit.GetTextService
- TCustomEdit.SetKeyboardType
- TCustomEdit.UpdateCaretPoint
- TCustomEdit.GetImeMode
- TCustomEdit.SetImeMode
FMX.Filter.pas:
- TFilter.FilterAttrForClass
FMX.Forms.pas:
- TApplication.DoIdle
- TCommonCustomForm.SetActive
FMX.Memo.pas:
- TMemo.GetKeyboardType
- TMemo.GetText
- TMemo.GetTextPoint
- TMemo.GetTextService
- TMemo.SetKeyboardType
- TMemo.UpdateCaretPoint
- TMemo.GetImeMode
- TMemo.SetImeMode
FMX.Types3D.pas:
- AxisRotationToMatrix3D
- RayCastCuboidIntersect
- RayCastEllipsoidIntersect
- RayCastTriangleIntersect
- TControl3D.PaintToBitmap
FMX.ASE.Model.pas:
- TAseModel.ParseNormalList
FMX.DAE.Model.pas:
- TDAESurface
- TDAEExporter
- TDAEVertices
- TDAEController
- PDAEVertexSource
- TDAESurfaceArray
- TSourceSemantics
- TDAEControllerDynArray
- TDAEModel.AddNode
- TDAEModel.FindControllerById
- TDAEModel.FindNodeUrls
- TDAEModel.GetController
- TDAEModel.GetVertexSource
- TDAEModel.ImportExporter
- TDAEModel.ImportFromControllersLib
- TDAEModel.LoadPolygons
- TDAEModel.LoadTriangles
FMX.OBJ.Model.pas:
- TOBJMesh
- TOBJModel.ReadSmoothGroup
FMX.Controls.pas:
- TSwitch
- TCustomTrack.EndTracking
削除された FMX の型およびメソッド
FMX.Edit.pas:
- TCustomEdit.SetMarkedText
FMX.Forms.pas:
- TCommonCustomForm.SetMarkedText
- TCommonCustomForm.SetIsActive
FMX.Memo.pas:
- TMemo.SetMarkedText
FMX.Types3D.pas:
- MakeReflectionMatrix
- MakeShadowMatrix
- RayCastIntersectsSphere
FMX.Types.pas:
- VectorCombine
- IIMENotification
FMX.DAE.Model.pas:
- TDAEVisualScene
新しく定義された FireMonkey バージョンを表す定数
FireMonkey のバージョン 161 のコードを特定し区別するための次の定数が FMX.Types.pas に追加されました。
FireMonkeyVersion = 16.1
たとえば、16.0 より後のバージョン用のコードを特定するには、次の条件指令でコードを囲みます。
Delphi の場合:
{$IF Declared(FireMonkeyVersion) and (FireMonkeyVersion > 16.0)} ... {$IFEND}
XE2 トライアル版で作成した OS X アプリケーションの配置に必要なファイル
Delphi XE2 および C++Builder XE2 のトライアル版で、OS X アプリケーションを配置できない場合があります。
再配布に必要なファイルを有効化するための回避策は以下のとおりです。
- Delphi XE2 トライアル版の場合:
- ファイル libcgunwind.1.0.dylib をコピーします。
- コピー元の場所: C:\Program Files\Embarcadero\RAD Studio\9.0\lib\osx32\release
- コピー先の場所: C:\Program Files\Embarcadero\RAD Studio\9.0\redist\osx32\
- 配置が正しく行われない既存プロジェクトで以下の作業を行います。
- [プロジェクト|配置]
- ツールバーの[調停](
)ボタンをクリックし、プロジェクトを再実行します。
- ファイル libcgunwind.1.0.dylib をコピーします。
- C++Builder XE2 トライアル版の場合:
- libcgunwind.1.0.dylib、libcgstl.dylib、libcgcrtl.dylib の 3 つのファイルをコピーします。
- コピー元の場所: C:\Program Files\Embarcadero\RAD Studio\9.0\lib\osx32\release
- コピー先の場所: C:\Program Files\Embarcadero\RAD Studio\9.0\redist\osx32
- 配置が正しく行われない既存プロジェクトで以下の作業を行います。
- [プロジェクト|配置]
- ツールバーの[調停](
)ボタンをクリックし、プロジェクトを再実行します。
- libcgunwind.1.0.dylib、libcgstl.dylib、libcgcrtl.dylib の 3 つのファイルをコピーします。
内部ビルド エラーの回避方法
説明: プロジェクトを新しく作成したときに、別のディレクトリに保存してからでなければ IDE でそのプロジェクトをビルドできない場合があります。別のディレクトリに保存した後であれば、プロジェクトのビルドは問題なく行うことができます。
手順:
- [ファイル|新規作成|<任意の種類のアプリケーション>]
- [プロジェクト|ビルド]
結果: エラーが出てコンパイルが失敗します。[メッセージ]ビューの[出力]タブに以下の内容が表示されます。
Checking project dependencies... [MSBuild Error] The build was aborted because of an internal failure. System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Windows\system32\Projects'. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.Directory.SetCurrentDirectory(String path) at Microsoft.Build.BuildEngine.Engine.SetBuildItemCurrentDirectory(Project project) at Microsoft.Build.BuildEngine.Engine.BuildProjectInternal(BuildRequest buildRequest, ProjectBuildState buildContext, TaskExecutionContext taskExecutionContext, Boolean initialCall) at Microsoft.Build.BuildEngine.Engine.EngineBuildLoop(BuildRequest terminatingBuildRequest) at Microsoft.Build.BuildEngine.Engine.PostProjectEvaluationRequests(Project project, String[] projectFiles, String[][] targetNames, BuildPropertyGroup[] globalPropertiesPerProject, IDictionary[] targetOutputsPerProject, BuildSettings buildFlags, String[] toolVersions) [Fatal Error] Could not find a part of the path 'C:\Windows\system32\Projects'
解決方法:
- regedit.exe を開きます(システム レジストリを編集するのが不安であれば顧客サポート にご連絡ください)。
- キー HKEY_CURRENT_USER\Software\Embarcadero\BDS\9.0\Globals に移動します。
- 文字列値 DefaultProjectsDir を編集または追加して、その値に書き込み可能なディレクトリ("C:\Users\<ユーザー名>\Documents\RAD Studio\Projects" など)を指定します。
- IDE を再起動します。
Delphi RTL を使用する C++ コンソール アプリケーションでは明示的な Delphi RTL のリンクが必要
C++ コンソール アプリケーション ウィザードを使用して C++ コンソール アプリケーションを作成するときに、フレームワーク(VCL または FMX)を含めるかどうかを選択することができます。どちらのフレームワークも選択しない場合には、以下のことができないなどの制限が生じます。
- math.hpp など、Delphi RTL(ランタイム ライブラリ)のユニットの
#include - Math.SimpleRoundTo など、Delphi RTL 関数の呼び出し
- Object Pascal 言語をサポートしているクラスなど、Delphi クラスをサポートしている C++ の型の使用
後でこのようなことを行おうとすると、リンカで次のエラー メッセージが出力されます。
未解決の外部シンボル 'シンボル' が 'モジュール' から参照されています
ただし、[新規コンソール アプリケーション]ウィザードでフレームワーク(FMX または VCL)を指定しなかった場合でも、C++ コンソール アプリケーションで Delphi RTL 関数を使えるようにすることができます。次の手順を実施してください。
- [プロジェクト|オプション...|C++ リンカ]を開き、[Delphi ランタイム ライブラリ (rtl パッケージおよび cp32mt.lib/cp32mti.lib) とリンク]をオンにします。
- プロジェクトのソース ファイルで System.hpp(または System.hpp をインクルードしているいずれかのヘッダー)を
#includeします。そうしなければ vcle.lib(OS X の場合は rtle.a)がリンクされず、別の未解決の外部シンボル エラー メッセージがリンカから出力されます。
コンソール アプリケーションで VCL または FMX の型を使用している場合には、[Delphi ランタイム ライブラリ (rtl パッケージおよび cp32mt.lib/cp32mti.lib) とリンク]オプションを使用するべきではありません。たとえば Vcl.Graphics.TColor をコードで使用するなら、VCL をフレームワークに指定してコンソール アプリケーションを作成し直す必要があります。
DLL ではなくメイン アプリケーションで GDI+ を初期化
DLL で GDI+ を初期化しようとするとアクセス違反が発生します。これは GDI+ が正常に初期化されていないためです。GDI+ のスタートアップ ルーチンは DLL のスタートアップ コードから呼び出すことができません。GdiplusStartup や GdiplusShutdown は、DllMain や DllMain から呼び出される関数の中で使用しないでください。
GDI+ を使用する DLL を作成するには、次のようにしてホスト アプリケーションから GDI+ を起動する必要があります。
- Delphi の場合は、メイン フォーム ユニットの interface セクションの
uses句に Winapi.GDIPOBJ を追加します。 - C++ の場合は、ホスト アプリケーションに
#include <gdiplus.h>を追加し、適宜GdiplusStartupやGdiplusShutdownを呼び出します。
詳細は MSDN を参照してください。
関連項目
Copyright 2011 Embarcadero Technologies. All rights reserved.