Tamaño maximo de ficheros tipo file of
Sabeis si en win32 existen limitaciones de tamaño de archivo segun la siguiente estructura:
type TReg = array [0 .. 1024] of double; TFich = file of TReg; A la hora de crear el fichero no hay problemas, he conseguido crear archivos de mas de 4Gb pero a la hora de leer con la funcion seek esta me genera un error (131) que dice que no se pueden buscar posiciones negativas. Es como si a partir de mas de 2Gb del archivo se generase ese error. Con ficheros de menos de 2Gb no hay problema. |
La limitación la impone la propia función seek, ya que utiliza como parámetro un integer, y el numero mas grande positivo que puede expresarse con un integer es 2^31 (2 Gb). Si necesitas hacer saltos mayores vas a tener que replantear tu código y usar funciones como Fileseek o directamente la API SetFilePointer.
|
y un TFileStream? Se puede utilizar sin problemas??
|
Pues parece que el método Seek de un TFileStream utiliza un int64:
Así que en principio, se pueden realizar saltos de hasta 2^63. |
La franja horaria es GMT +2. Ahora son las 14:55:31. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi