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

文書翻訳 文書翻訳
文書番号: 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 サイト。
http://msdn2.microsoft.com/fr-fr/library/ms221646.aspx
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 - 最終更新日: 2014年2月2日 - リビジョン: 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
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:813647
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com