REVISIÓN: COleDateTime::operator=(time_t) saltos si año pasadas 1999

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 225140
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Síntomas
=(Const time_t& timeSrc) de COleDateTime::operator función no controla correctamente las fechas posteriores a 31 de diciembre de 1999. Por ejemplo, 05/02/2000 puede representarse como 05/02 de 100.

Este error puede verse en el subprograma de diagnóstico de Windows 95, Windows 98 Msinfo32.exe. Si la fecha en el equipo es posterior al 31 de diciembre de 1999, las fechas en el informe generado Msinfo32 no se muestran correctamente.
Causa
COleDateTime::operator = las llamadas a una función auxiliar en MFC denominado OleDateFromTm. Esta función se utiliza para convertir de la estructura de tiempo de CRT, que almacena el año con respecto a 1900 (por ejemplo, 99 = 1999, 2000 = 100) y lo que esperan las funciones de conversión de fecha y hora OLE. OleDateFromTm se supone que cualquier año que se pasa es menor que 100 es una fecha abreviada con respecto a 1900 y agrega 1900. Si el año es mayor que 99 (es decir, 100 = 2000) no agrega nada. Por tanto, cuando se pasa 100 (para 2000) a OleDateFromTm, nada se agrega a ella y la fecha vuelve 100.
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados al principio de este artículo.

Este error se ha corregido en versiones patched del Mfc40.dll y Mfc40u.dll. Número de versión es 4.1.6140. Estos archivos DLL se incluyen como parte del año 2000 actualizaciones para Windows 95 y Windows 98. Para Windows NT 4.0, está disponible una revisión.

Para obtener información adicional, haga clic en el número de artículo siguiente para ver el artículo en Microsoft Knowledge Base:
218877Mfc40.dll hace que programas mostrar fecha incorrecta después 01/01/2000
Este error se corrigió en Visual Studio 6.0 Service Pack 3. Para obtener información adicional acerca de los de Visual Studio service Pack, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
194022Studio 6.0 Service Pack de información: Visual qué son, dónde están y por qué
194295Cómo: Saber que Visual Studio 6.0 Service Pack instalados
Más información
Sólo las aplicaciones que se crean con Visual C++ 4.0 o 4.1 requieren esta DLL actualizada. Para determinar si el archivo ejecutable está vinculado a la Mfc40.dll, siga estos pasos:
  1. Inicie el Explorador de Windows.
  2. Haga clic con el botón secundario en el EXE o DLL.
  3. Seleccione la vista rápida .
  4. Desplácese a la tabla de importación. Debe aparecer la DLL de MFC vinculada en aquí (es decir, Mfc40.dll).
Y2K MFC COleDateTime time_t OleDateFromTm

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 225140 - Última revisión: 02/05/2014 17:48:14 - Revisión: 2.1

Microsoft Foundation Class Library 4.2

  • kbnosurvey kbarchive kbmt kbbug kbfaq kbfix kbnoupdate kbvs600sp3fix KB225140 KbMtes
Comentarios