Düzeltme: COleDateTime::SetDate artık bir "Geçersiz" durumu Visual C++ .NET, yanlış bir tarih döndürüyor

Makale çevirileri Makale çevirileri
Makale numarası: 813647 - Bu makalenin geçerli olduğu ürünleri görün.
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
CPR - VS .NET - SP1'de düzeltme
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Microsoft Foundation Classes (MFC) ve Active Template Library (ATL) yöntemini COleDateTime::SetDate davranışını Microsoft Visual C++ .NET değiştirdi. Yanlış bir tarih yazdığınızda .NET sürüm artık durumu geçersiz nesne durumunu ayarlar. Bunun yerine, nesne durumunu, tarihle dönüştürür en yakın, geçerli bir değer. Bu durumu geçersizCOleDateTime nesnesinin bağımlı olan uygulamalar için beklenmeyen davranışlara neden olabilir. Davranış, Visual C++ .NET kitaplıkları .NET sürümü ile birlikte gelen Microsoft Developer Network (MSDN) bilgi farklıdır.

Çözüm

Hizmet paketi bilgileri

Bu sorunu gidermek için <a0></a0>, Microsoft Visual Studio. NET'in en son hizmet paketini edinin. Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
837234Visual Studio .NET 2002 Service Pack 1'de düzeltilen hataların listesi

Düzeltme bilgileri

Bu düzeltmenin İngilizce sürümü, aşağıdaki tabloda listelenen dosya özniteliklerine (veya daha yenisi) sahiptir. Bu dosyaların tarihleri ve saatleri Koordinatlı Evrensel Saat'e (UTC) göre listelenir. Dosya bilgilerini görüntülediğinizde yerel saate dönüştürülür. UTC ve yerel saat arasındaki farkı bulmak için <a0></a0>, Denetim Masası'ndaki Tarih ve Saat aracında saat dilimi sekmesini kullanın.
   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
				

Daha fazla bilgi

Gözlemlenen davranışı, COleDateTime uygulanmasında bir değişiklik nedeniyle oluşur. Yeni uygulama SystemTimeToVariantTime işlevi COleDateTime nesnesine verilen değer dönüştürmek için kullanır.

Aşağıdaki Microsoft Developer Network'e ziyaret SystemTimeToVariantTime işlevi hakkında daha fazla bilgi için Web sitesi:
http://msdn2.microsoft.com/fr-fr/library/ms221646.aspx
SystemTimeToVariantTime işlevi geçersiz bir tarih kabul eder ve bunları bir VARIANT zaman çözümlerken düzeltme dener. Örneğin, 1/3/2001 29/02/2001 gibi geçersiz bir tarih çözümler. Ancak COleDateTime::SetDate için Visual Studio .NET 2002 MSDN giriş (1) bir geçersiz durum nesnesi için ayarlanmış olduğunu belirtir.


Aşağıdaki kod, sorunu kopyalar:

COleDateTime dtDate;
CString	szDate;
BOOL bOK;

bOK = dtDate.SetDate(2003, 2, 29);
if((bOK == 0) && (dtDate.GetStatus() == COleDateTime::valid))
{
	szDate = dtDate.Format();
	AfxMessageBox(szDate);
}
Not Bu düzeltmeyi uyguladıktan sonra kodunuzu derlemeniz gerekir.

Durum

Microsoft, bu makalenin başında listelenen Microsoft ürünlerinde bir sorun olduğunu onaylamıştır. Bu sorun ilk olarak Visual Studio .NET 2002 Service Pack 1'de giderilmiştir.

Özellikler

Makale numarası: 813647 - Last Review: 9 Şubat 2014 Pazar - Gözden geçirme: 2.2
Bu makaledeki bilginin uygulandığı durum:
  • 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
Anahtar Kelimeler: 
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbvs2002sp1sweep kbvs2002sp1fix kbfix kbbug KB813647 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:813647

Geri Bildirim Ver

 

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