Oprava: COleDateTime::SetDate již vrátí "Neplatný" stav na nesprávné datum v aplikaci Visual C++ .NET

Překlady článku Překlady článku
ID článku: 813647 - Produkty, které se vztahují k tomuto článku.
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
CPR - VS .NET - oprava Hotfix v aktualizaci SP1
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Chování Microsoft Foundation Classes (MFC) a knihovny Active Template (ATL) Metoda COleDateTime::SetDate změněn v aplikaci Microsoft Visual C++ .NET. V verze .NET při zadejte nesprávné datum stavu objektu již nastaví stav neplatný. Místo toho převede data na stav objektu nejbližší platná hodnota. To může způsobit neočekávané chování aplikace, které závisí na neplatný stav objektu COleDateTime. Chování je odlišné od Microsoft Developer Network (MSDN) informace dodané s verzí knihoven Visual C++ .NET .NET.

Řešení

Informace o aktualizaci Service Pack

Tento problém vyřešíte pomocí nejnovější aktualizace service pack pro Microsoft Visual Studio .NET. Další informace naleznete následujícím článku znalostní databáze Microsoft Knowledge Base:
837234Seznam opravených v Visual Studio .NET 2002 Service Pack 1

Informace o opravě hotfix

Anglická verze této opravy má následující atributy souborů (nebo novější). Data a časy jednotlivých souborů jsou uvedeny ve formátu UTC (Coordinated Universal Time). Pokud zobrazíte informace o souboru, bude převedena na místní čas. Rozdíl mezi místním ČASEM a najít, použijte kartu časové pásmo v ovládacím panelu Datum a čas.
   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
				

Další informace

Započítávaná chování dochází z důvodu změny v implementaci COleDateTime. Nové implementace funkce SystemTimeToVariantTime převést hodnotu dodaný objekt COleDateTime.

Navštivte následující Microsoft Developer Network webu Další informace o funkci SystemTimeToVariantTime:
http://msdn2.microsoft.com/fr-fr/library/ms221646.aspx
Funkce SystemTimeToVariantTime přijímá neplatná data a potom se pokusí při překládání VARIANT čas je opravit. Například je neplatné datum, například 2, 29/2001 vyřeší 3/1/2001. Položka Visual Studio .NET 2002 MSDN COleDateTime::SetDate však uvedeno pro objekt by být nastaven neplatný stav (1).


Následující kód replikuje problém:

COleDateTime dtDate;
CString	szDate;
BOOL bOK;

bOK = dtDate.SetDate(2003, 2, 29);
if((bOK == 0) && (dtDate.GetStatus() == COleDateTime::valid))
{
	szDate = dtDate.Format();
	AfxMessageBox(szDate);
}
Poznámka: Můžete mít překompilovat kódu po použití této opravy.

Prohlášení

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny na začátku tohoto článku. Tento problém byl poprvé opraven v Visual Studio .NET 2002 Service Pack 1.

Vlastnosti

ID článku: 813647 - Poslední aktualizace: 2. února 2014 - Revize: 2.2
Informace v tomto článku jsou určeny pro produkt:
  • 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
Klíčová slova: 
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbvs2002sp1sweep kbvs2002sp1fix kbfix kbbug KB813647 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:813647

Dejte nám zpětnou vazbu

 

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