![]() |
Error para obtener el tamaño de archivo
Hola amigos.
Hace tiempo que estoy usando esta funcion para obtener el tamaño de un archivo desde un programa que corre como servicio. El problema lo tengo con un cliente que lo esta ejecutando en una maquina virtual con Windows Server 2008 sp2 y la función en lugar de devolverme el tamaño me esta devolviendo una fecha. En otras maquinas virtuales con el mismo SO no pasa. Alguna pista? Gracias. |
Lo cierto es que en estos casos suelo apuntar a que la api ha cambiado por una actualización del sistema o algo similar. Sin embargo he revisado:
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx y http://msdn.microsoft.com/en-us/library/aa914683.aspx Eencontrandome que la estructura de datos que devuelve GetFileAttributesEx cuando le pasas GetFileExInfoStandard no ha cambiado y en nFileSizeLowm debe tener lo que esperas. Lo siento, me veo tan perdido como tu, mi recomendación es que averigues que destas obteniendo en a en el sistema en el que te esta pasando esto, ya que no parece que sea un WIN32_FILE_ATTRIBUTE_DATA |
¿Cómo sabes que te devuelve una fecha? Es decir, tu función devuelve un entero, así que no sé cómo deduces que es una fecha. Por otro lado, esa función que implementaste siempre va a fallar con archivos muy grandes porque te estás olvidando de nFileSizeHigh.
// Saludos |
jars,
Cita:
Revisa este código: El código anterior en Delphi 7 sobre Windows 7 Professional x32, obtiene el tamaño de un archivo por diferentes métodos. Nota: El código fue probado en los siguientes entornos 1- Una máquina física con Windows 7 Profesional x32. 2- Una VMware con Windows 8.1 Professional x32. 3- Una VMware con Windows 7 Professional x64. En todos los casos de prueba, el código del ejemplo funciono correctamente según lo esperado. Espero sea útil :) Nelson. |
|
| La franja horaria es GMT +2. Ahora son las 05:01:19. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi