Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Tamaño maximo de ficheros tipo file of (https://www.clubdelphi.com/foros/showthread.php?t=40006)

JF Sebastian 05-02-2007 11:09:19

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.

seoane 05-02-2007 11:31:55

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.

JF Sebastian 05-02-2007 13:11:49

y un TFileStream? Se puede utilizar sin problemas??

seoane 05-02-2007 13:27:06

Pues parece que el método Seek de un TFileStream utiliza un int64:
Código Delphi [-]
  function Seek(const Offset: Int64; Origin: TSeekOrigin): 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