Update: COleDateTime::SetDate nicht mehr einen "Ungültigen" Status zurückgegeben ein falsches Datum in Visual C++ .NET

Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.

Den englischen Originalartikel können Sie über folgenden Link abrufen: 813647
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
CPR - VS .NET - Update in SP1
Problembeschreibung
Das Verhalten von Microsoft Foundation Classes (MFC) und die ATL (Active Template Library)-Methode COleDateTime::SetDate geändert in Microsoft Visual C++ .NET. In der Version legt bei der Eingabe eines falschen Datums fest Objektstatus mehr Status ungültig . Stattdessen den Objektstatus konvertiert das Datum des nächsten gültigen Wert. Dies kann zu unerwartetem Verhalten für Anwendungen führen, die den ungültigen Status das COleDateTime -Objekt abhängen. Das Verhalten unterscheidet sich die Microsoft Developer Network (MSDN)-Informationen, die Version des Visual C++ .NET Bibliotheken geliefert.
Lösung

Informationen zu Service Packs

Installieren Sie das neueste Servicepack für Microsoft Visual Studio .NET, um dieses Problem zu beheben. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
837234Liste der in Visual Studio .NET 2002 Service Pack 1 behobenen Probleme

Hotfix-Informationen

Die englische Version dieses Updates weist die in der nachstehenden Tabelle aufgelisteten Dateiattribute (oder höher) auf. Die Datums- und Uhrzeitangaben für diese Dateien werden in Coordinated Universal Time () angegeben. Wenn Sie sich die Dateiinformationen ansehen, werden diese Angaben in die lokale Zeit konvertiert. Um die Differenz zwischen UTC und der Ortszeit zu ermitteln verwenden Sie die Registerkarte Zeitzone des Tools „ Datum und Uhrzeit in der Systemsteuerung.
   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				
Weitere Informationen
Beobachtete Verhalten tritt aufgrund einer Änderung in der Implementierung von COleDateTime . Die neue Implementierung verwendet SystemTimeToVariantTime -Funktion den Wert, der angegeben wird in das COleDateTime -Objekt konvertieren.

Besuchen Sie die folgenden Microsoft Developer Network-Website Weitere Informationen zu SystemTimeToVariantTime -Funktion:
Die SystemTimeToVariantTime -Funktion nimmt ungültige Daten und versucht dann, diese beheben, wenn zu einem Zeitpunkt VARIANT auflösen. Beispielsweise wird ein ungültiges Datum wie z. B. 2/29/2001 in 3, 1/2001 aufgelöst wird. Der Visual Studio .NET 2002 MSDN-Eintrag für COleDateTime::SetDate besagt jedoch, dass ein ungültiger Zustand (1) für das Objekt festgelegt werden würde.


Der folgende Code repliziert das Problem:

COleDateTime dtDate;CString	szDate;BOOL bOK;bOK = dtDate.SetDate(2003, 2, 29);if((bOK == 0) && (dtDate.GetStatus() == COleDateTime::valid)){	szDate = dtDate.Format();	AfxMessageBox(szDate);}
Hinweis: Sie müssen möglicherweise Ihren Code kompilieren, nachdem Sie dieses Update angewendet haben.
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt. Dieses Problem wurde erstmals im Visual Studio .NET 2002 Service Pack 1.

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 813647 – Letzte Überarbeitung: 01/24/2014 15:59:44 – Revision: 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 kbmt kbhotfixserver kbqfe kbvs2002sp1sweep kbvs2002sp1fix kbfix kbbug KB813647 KbMtde
Feedback