表示: Delphi C++
表示設定

C++Builder 64 ビット Windows 版のリリース ノート

提供: RAD Studio XE3
移動: 案内, 検索

C++Builder 64 ビット Windows 版の新機能 への移動


C++Builder 64 ビット Windows 版のリリースは RAD Studio XE3 の Update 1 リリースでもあり、XE3 Update 1 には、Delphi と C++ の両方のパーソナリティが含まれています。このリリース ノートには、C++Builder 64 ビット Windows 版のリリースに特に関係のある重要な補足情報が記載されています。このページのすべての内容に目を通されることをお勧めします。このリリース ノートの最新版については、http://docwiki.embarcadero.com/RADStudio/XE3/ja/C++Builder_64_ビット_Windows 版のリリース ノート を参照してください。

  • ヘルプ トピックの最新版については、RAD Studio docwiki を参考にしてください。
    • 当社では、リリース後および製品の更新サイクル全体を通して docwiki ページを継続的に更新します。
    • ヘルプ アップデートはときどきリリースされますが、docwiki には常に最新のヘルプが掲載されています。

目次

一般的な注意事項

外部ファイルを \bin ディレクトリにインストールしない

無署名のサードパーティ製 DLL を製品の bin ディレクトリ(以下)に格納することはできません。

  • $(BDS)\bin
  • $(BDS)\bin64

ライセンス検証エラーが発生します。

64 ビット Windows 版 FastReport が間もなくリリース

FastReport Embarcadero エディションは現在以下のパーソナリティで使用可能です。

  • Delphi(32 ビット Windows 版および 64 ビット Windows 版)
  • C++Builder(32 ビット Windows 版)

C++Builder 64 ビット Windows 版で使用できる FastReport は間もなくリリースされ、C++Builder XE3 と RAD Studio XE3 の登録ユーザーが http://cc.embarcadero.com/reg/rad_studio で無償ダウンロードとして入手できます。

C++Builder に関する注意事項

Delphi パッケージのデバッグ パスの指定

C++ 64 ビット Windows アプリケーションで使用されている Delphi パッケージをデバッグする場合は、まず、以下の構成手順を実行しなければなりません。

  1. [ツール|オプション...|デバッガ オプション|Embarcadero デバッガを選択します。
  2. [デバッグ用シンボル検索パス]フィールドに、以下の形式で完全パスを追加します。
    C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\lib\win64\debug
  3. [OK]をクリックします。

インクルード パスへのプロジェクト ディレクトリの追加

現在、IDE では、([C++ コンパイラ|ディレクトリと条件定義]ページで)[プロジェクト ディレクトリをインクルード パスに追加]のデフォルト設定がたとえ[False]になっていても、プロジェクト ディレクトリが #include パスに自動的に含まれます。この動作はいずれ変更される可能性があり、その後は、プロジェクト ディレクトリが自動的に #include パスに追加されるようにする場合は、このオプションを[True]に設定する必要があります。

詳細については、「#include」を参照してください。

#pragma exit への優先度の付加

BCC32 と BCC64 では、#pragma exit に割り当てられるデフォルトの優先度(オプションの優先度指定が省略された場合に割り当てられるもの)が異なります。

BCC32 のバグが原因で、優先度の指定されていない #pragma exit ルーチンには、実際は優先度 30 が割り当てられます。そのため、exit ルーチンに BCC32 で優先度が指定されていない場合と同じ動作をさせるには、BCC64 では明示的に exit ルーチンの優先度を 30 に設定する必要があります。たとえば、__ExitVCL の実行後に呼び出したい exit ルーチンの場合には、BCC64 で優先度 30 を指定しなければなりません (メモ:__ExitVCL は優先度 31 で実行されます)。

詳細については、「#pragma exit と #pragma startup」を参照してください。


WebSnap アプリケーションで WebInit.cpp の追加が必要になる可能性あり

64 ビット Windows ターゲット プラットフォームの C++ WebSnap アプリケーションを作成する場合は、たとえば以下のようなリンカ エラーが発生するおそれがあります。

[ilink64 Error] Error: Unresolved external '__dso_handle' referenced from E:\EMBARCADERO\RAD STUDIO\10.0\LIB\WIN64\RELEASE\WEBINIT.O
[ilink64 Error] Error: Unresolved external '__cxa_atexit' referenced from E:\EMBARCADERO\RAD STUDIO\10.0\LIB\WIN64\RELEASE\WEBINIT.O

この問題を回避するには、[プロジェクト マネージャ]を使って WebInit.cpp ファイルをプロジェクトに追加します。WebInit.cpp は $(BDS)\source\internet ディレクトリにインストールされています。

データセットの読み込み後に TBindSourceDB 内にデータが設定されていない場合のデザイナの更新

複数のフォームやデータ モジュールを含んだ VCL アプリケーションまたは FireMonkey アプリケーションでは、TBindSourceDB 内に組み込まれたデータセットが[LiveBinding デザイナ]でアクティブに表示されているフォームの外部にある場合は、そのデータセットに古いサブメンバが含まれているおそれがあります。データセットの変更によっても、メンバが古くなることがあります。[デザイナの更新]コンテキスト メニュー コマンドを使用すれば、更新に関するこのような問題に対処できます。

[プログラムの終了]でデバッガがクラッシュするおそれあり

デバッガがデータ ブレークポイントで停止しているときに[プログラムの終了](Ctrl+F2)を実行すると、C++Builder 64 ビット Windows 版デバッガがクラッシュするおそれがあります。

SOAP のサポート

C++Builder 64 ビット Windows 版で開発された SOAP クライアントでは、サーバーを呼び出して、整数、文字列、整数や文字列が格納された構造体を渡すことができます。文字列の動的配列は、まだサポートされていません。

Indy UDP のエラー

UDP(ユーザー データグラム プロトコル)を使用している C++ Indy プロジェクトでは、たとえば以下のようなコンパイラ エラーが発生する場合があります。

OpenGL などの外部コードの浮動小数点例外

64 ビット Windows 用の C++ コードが、OpenGL、OLEDB、TWebBrowser、.NET アセンブリ、ActiveX コントロールなどの外部コードとやり取りする場合に、浮動小数点例外が発生する可能性があります。32 ビット Windows プラットフォームでは、_control87 を呼び出すことでこの例外を回避できます。しかし、_control87 は、32 ビット Windows で浮動小数点レジスタを設定します(つまり FPU レジスタ)。それに対して、64 ビット Windows では SSE が浮動小数点レジスタです。

浮動小数点例外を発生させるコードでは、代わりに System::Math::SetExceptionMask(..) を使用する必要があります。これは、SetFPUExceptionMask(32 ビット Windows の場合)または SetSSEExceptionMask(64 ビット Windows の場合)のいずれかを呼び出します。外部コードとやり取りする場合には、通常、浮動小数点例外をマスクする必要があります。例外は、境界をまたぐときにマスクおよびアンマスクしなければなりません。

デバッガに関する注意事項

  • 同じ名前の 2 つのファイルのデバッグはサポートされていません。
  • 例外を送出するコードのデバッグに対するサポートが不完全です。
    たとえば、関数呼び出しの評価では例外がサポートされていません。
  • ローカル静的変数とファイル静的変数の評価は現在のスコープ内でのみ機能します。
  • 一部の関数呼び出し(特に、VCL メンバや RTL メンバなどの継承した Delphi 型を持つもの)の評価が機能しない可能性があります。

詳細は、「C++Builder 64 ビット Windows アプリケーションのデバッグ」を参照してください。

関連項目

他言語版