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

Ö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.

813647
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
CPR - VS .NET - SP1'de düzeltme
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:
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.

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 813647 - Son İnceleme: 02/09/2014 00:27:35 - Düzeltme: 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 KbMttr
Geri bildirim