[FIX COleDateTime::SetDate できなく、"無効な状態を取得 Visual C++ .NET での不適切な日付

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB:813647
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
SP1 で CPR VS .NET-の修正プログラム
現象
Microsoft Foundation クラス (MFC) と、Active Template Library (ATL) メソッド COleDateTime::SetDate の動作は、Microsoft Visual C++ .NET で変更します。 .NET のバージョンで、正しくない、日を入力するときに、オブジェクトの状態できなく、状態を設定 が無効です 。 オブジェクトの状態の日付を変換する代わりに、有効な値に最も近い。 COleDateTime オブジェクトの 無効な 状態に依存するアプリケーションに対して予期しない動作可能性があります。 動作は .NET バージョンの Visual C++ .NET ライブラリに付属するマイクロソフト開発者向けネットワーク (MSDN) 情報を異なるです。
解決方法

Service Pack 情報

この問題を解決するには、Microsoft Visual Studio .NET の最新のサービス パックの入手します。 関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください:
837234Visual Studio .NET 2002 Service Pack 1 で修正されるバグの一覧

修正プログラムについて

修正プログラム (英語版) のファイル属性は次表のとおりです。 これらのファイルの日時に協定時刻 (UTC) 記載します。 各ファイルの日付および時刻は、世界協定時刻 (UTC) で示されています。 UTC および現地時間の時差を確認するには、コントロール パネル]、日付と時刻ツールの [ タイム ゾーン ] タブを使用してください。
   Date         Time  Version               Size  File name      --------------------------------------------------------------- 24-Jan-2003  02:06                  2,011,136  Atl70.pdb 12-Sep-2002  16:50                     39,733  afxdao.h 24-Jan-2003  02:06  7.0.9660.0         84,992  atl70.dll 23-Jul-2002  20:08                      3,443  atlbase.cpp 23-Jul-2002  20:08                    163,480  atlbase.h 20-Jan-2003  20:07                     16,396  atlcomtime.inl 23-Jul-2002  20:08                     15,521  atlcore.h 23-Jul-2002  20:08                     43,105  atlimage.h 24-Jan-2003  02:06                     48,090  atlmincrt.lib 24-Jan-2003  02:06                    659,456  atlmincrt.pdb 24-Jan-2003  02:06                  1,003,890  atlsd.lib 24-Jan-2003  02:06                  1,306,624  atlsd.pdb 24-Jan-2003  02:06                    934,264  atls.lib 24-Jan-2003  02:06                  1,306,624  atls.pdb 24-Jan-2003  02:06                     14,546  atl.lib 11-Nov-2002  22:45                     63,284  cstringt.h 05-Dec-2002  20:21                    116,779  dbcore.cpp 12-Sep-2002  16:50                     19,956  makefile 24-Jan-2003  03:36  7.0.9660.0         40,960  mfc70chs.dll 24-Jan-2003  03:36  7.0.9660.0         45,056  mfc70cht.dll 24-Jan-2003  03:36  7.0.9660.0         61,440  mfc70deu.dll 24-Jan-2003  03:22                    527,756  mfc70d.def 24-Jan-2003  03:23                  3,066,694  mfc70d.lib 24-Jan-2003  03:36  7.0.9660.0         57,344  mfc70enu.dll 24-Jan-2003  03:36  7.0.9660.0         61,440  mfc70esp.dll 24-Jan-2003  03:36  7.0.9660.0         61,440  mfc70fra.dll 24-Jan-2003  03:36  7.0.9660.0         61,440  mfc70ita.dll 24-Jan-2003  03:36  7.0.9660.0         49,152  mfc70jpn.dll 24-Jan-2003  03:36  7.0.9660.0         49,152  mfc70kor.dll 24-Jan-2003  03:24                    528,736  mfc70ud.def 24-Jan-2003  03:25  7.0.9660.0      2,066,944  mfc70ud.dll 24-Jan-2003  03:27                  3,978,842  mfc70ud.lib 24-Jan-2003  03:43                    393,034  mfc70u.def 24-Jan-2003  03:57  7.0.9660.0      1,016,832  mfc70u.dll 24-Jan-2003  03:29                  3,042,324  mfc70u.lib 24-Jan-2003  03:42                    392,265  mfc70.def 24-Jan-2003  04:07  7.0.9660.0      1,028,096  mfc70.dll 24-Jan-2003  03:24                  2,287,020  mfc70.lib 12-Sep-2002  16:50                      7,662  mfcdll.mak 24-Jan-2003  03:23                    526,960  mfcs70d.lib 24-Jan-2003  03:25                    468,956  mfcs70ud.lib 24-Jan-2003  03:44                    452,554  mfcs70u.lib 24-Jan-2003  03:43                    505,780  mfcs70.lib 24-Jan-2003  03:36                 10,513,408  mfc.bsc 24-Jan-2003  03:18                 16,598,882  nafxcwd.lib 24-Jan-2003  03:17                  2,093,056  nafxcwd.pdb 24-Jan-2003  03:19                 16,468,250  nafxcw.lib 24-Jan-2003  03:18                  2,068,480  nafxcw.pdb 20-Sep-2002  00:18                     44,958  oledisp1.cpp 24-Jan-2003  03:21                 17,032,292  uafxcwd.lib 24-Jan-2003  03:20                  2,093,056  uafxcwd.pdb 24-Jan-2003  03:22                 16,743,760  uafxcw.lib 24-Jan-2003  03:21                  2,068,480  uafxcw.pdb 05-Nov-2002  18:40                     34,858  viewprev.cpp 24-Jan-2003  03:23  7.0.9660.0      2,072,576  Mfc70d.dll 24-Jan-2003  03:23                  1,791,934  Mfc70d.map 24-Jan-2003  03:23                  7,875,584  Mfc70d.pdb 24-Jan-2003  03:25                  1,842,070  Mfc70ud.map 24-Jan-2003  03:25                  7,908,352  Mfc70ud.pdb 24-Jan-2003  03:57                  9,964,544  Mfc70u.pdb 24-Jan-2003  04:07                  1,149,706  Mfc70.map 24-Jan-2003  04:07                  9,980,928  Mfc70.pdb 24-Jan-2003  03:23                  1,888,256  Mfcs70d.pdb 24-Jan-2003  03:25                  1,896,448  Mfcs70ud.pdb 24-Jan-2003  03:44                  1,888,256  Mfcs70u.pdb 24-Jan-2003  03:43                  1,880,064  Mfcs70.pdb				
詳細
観測、現象 COleDateTime の実装が変更されたため発生します。 新しい実装では、 SystemTimeToVariantTime 関数を使用して提供される値、 COleDateTime </a0> オブジェクトに変換をします。

次のマイクロソフト開発者ネットワークを参照して SystemTimeToVariantTime 関数の詳細については Web サイト。
SystemTimeToVariantTime 関数では無効な日付を受け取り、バリアント型 (Variant) のタイムに解決するときに修正を試みます。 たとえば、2/29/2001年のような無効な日付は 3/1/2001年に解決されます。 ただし、COleDateTime::SetDate の Visual Studio .NET 2002 MSDN エントリはオブジェクトの無効な (1) の状態が設定されることを示しています。


次のコードは、問題をレプリケートされます。

COleDateTime dtDate;CString	szDate;BOOL bOK;bOK = dtDate.SetDate(2003, 2, 29);if((bOK == 0) && (dtDate.GetStatus() == COleDateTime::valid)){	szDate = dtDate.Format();	AfxMessageBox(szDate);}
メモ この修正プログラムの適用後、コードを再コンパイルがあります。
状況
マイクロソフトとして認識していますこの問題をこの資料の冒頭に記載されているマイクロソフト製品の問題。 この問題は、まず Visual Studio .NET 2002 Service Pack 1 で修正されました。

警告: この記事は自動翻訳されています

プロパティ

文書番号:813647 - 最終更新日: 02/02/2014 09:04:05 - リビジョン: 2.2

Microsoft Visual Studio .NET 2002 Academic Edition, Microsoft Visual Studio .NET 2002 Enterprise Architect, Microsoft Visual Studio .NET 2002 Enterprise Developer, Microsoft Visual Studio .NET 2002 Professional Edition

  • kbnosurvey kbarchive kbbug kbfix kbqfe kbvs2002sp1sweep kbvs2002sp1fix kbhotfixserver kbmt KB813647 KbMtja
フィードバック