CodeGear のダウンロードサイトにおいて、Borland Developer Studio 2006 アップデート 2適用以降の特定の問題に対応する Hotfixが公開されております。
これらの Hotfixは 「Borland Developer Studio 2006 Registered User Updates」よりダウンロードできます。
この Hotfixは Borland Developer Studio 2006の正規ユーザの全ての版(Architect,Enterprise,Professional)の全ての言語(English,French, German,Japanese)、および、Turbo C++の全ての版(Professional,Explorer)の全ての言語(English,French,German,Japanese)に適用可能です。
インストールし、使用するためには Borland Developer Studio 2006または Turbo C++ 2006のライセンスに同意している必要があります。
この Hotfixは以下の製品に適用できます:
- Product: Borland Developer Studio, Turbo C++
- Version: 2006
- Update level: Update 2
- Editions: Professional, Enterprise, Architect, turbo Explorer, Turbo Professional
- Languages: English, German, French, Japanese
この Hotfixに含まれる修正について:
2007年に実施される、新しい夏時間の対応についての対応となります。
現在 DSTについて以下の 3つの期間が存在します。
- 1970-1986 サマータイム(DST)開始 4月の最後の日曜 - 終了 10月の最後の日曜
- 1987-2006 サマータイム(DST)開始 4月の最初の日曜 - 終了 10月の最後の日曜
- 2007- サマータイム(DST)開始 3月の第二日曜 - 終了 11月の最初の日曜
2つの変更点
DST移行による 2:00-2:59(存在しない時間)は、1時間早める為の時間帯として取り扱われてきました。
これはマイクロソフトの VCとの互換性はありますが、Linuxや Mac等とは異なる対応となります。
DSTに合わせて、実際の時計と同様の動作をします。
time.h で定義されている変数 _PREFER_START_DAYLIGHT_TIMEをゼロに設定することにより、この動作を変更することができます。
もう一つの変更は DSTの終了時の重なり合っている時間( 1:00-1:59)の選択です。
以前は、(DSTでの)最初の時間を選択していました。
現在、マイクロソフトの VC、Linux、Macと互換性のある標準時間を選択します。
time.h で定義されている変数 _PREFER_END_STANDARD_TIMEをゼロに設定することにより、この動作を変更することができます。
BDS2006、および Turbo C++ 2006ユーザーへの適用手順について
- HotFix 11 のダウンロードファイルはZIP形式で圧縮されています。ZIPを解凍するツールが必要です。
- ダウンロードした hotfixの zipファイルを一時ディレクトリに解凍します。
- 解凍された \binディレクトリ内の2つのファイルを C:\Windows\System32ディレクトリにコピーします。その際古いファイルは上書きしてください。
NOTE: アプリケーションの配布の際、アプリケーションのディレクトリの中に必要な DLLをコピーして、ビルド済みのバージョンが使われるようにしてください。
- 解凍された \includeディレクトリ内の time.hを BDSの includeディレクトリ(デフォルトでは C:\Program Files\Borland\BDS\4.0\include)にコピーします。古い time.hは上書きします。
- 解凍された \libディレクトリ内の 6つのファイルを BDSの libディレクトリ(デフォルトでは C:\Program Files\Borland\BDS\4.0\lib)にコピーします。古いファイルは上書きします。
- 解凍された \source\timeディレクトリ内の timefunc.cファイルを RTLソースが置かれている \source\timeサブディレクトリ(デフォルトでは C:\Program Files\Borland\BDS\4.0\source\cpprtl\Source\time)にコピーします。古いファイルは上書きします。
C++Builder 6 以前のユーザーへの適用手順
- RTLソースが置かれている source\timeサブディレクトリに、含まれている timefunc.c を入れます。
- ライブラリの再構築のために、既存のプロダクトの source\rtlディレクトリの中の READMEに記載されている内容に従ってください。
- 上述した動作を変更したい場合には、標準のインクルードライブラリ内の time.h (mktime()の後が良いと思われます)に以下の内容を追加します。
extern unsigned char _RTLENTRY _EXPDATA _PREFER_END_STANDARD_TIME;
extern unsigned char _RTLENTRY _EXPDATA _PREFER_START_DAYLIGHT_TIME;
#pragma obsolete _PREFER_END_STANDARD_TIME
#pragma obsolete _PREFER_START_DAYLIGHT_TIME