Página 1 de 1

Problema de memoria

Publicado: Mar Oct 11, 2022 2:10 pm
por buzonjmartial
Buenos días,

con la versión de xailer 6.2, no se si siendo problema con harbour se produce en cualquier versión de xailer,
tengo que leer de disco un fichero de texto y cargarlo en una variable, mide 1 GB, lo abro con notepad en 1 seg sin problemas,
pero en mi aplicación, si hago esto:

miVar := memoread( cFile )

La aplicación xailer se desvanece sin dejar rastro.

¿Tiene alguna solución? o ¿Sabéis como solucionar este problema?

Re: Problema de memoria

Publicado: Mar Oct 11, 2022 3:57 pm
por ignacio
Hola,

MemoRead() es una función de Harbour y no de Xailer. Y por supuesto, Xailer no hace ningún tipo de hack en Harbour para cambiar su comportamiento.

En cualquier caso no es muy aconsejable lo que está haciendo y dudo mucho que Harbour (con o sin Xailer) lo abra al vuelo sin pestañear. Hay que abrirlo poco a poco con las funciones fopen() fread() y fclose(). Ejemplo en samples\Browses\TextBrowser (y éste sí que es instantáneo)

Saludos

Re: Problema de memoria

Publicado: Jue Oct 13, 2022 12:35 pm
por buzonjmartial
Ignacio Gracias,

con lo que me has comentado he llegado a la conclusión que es la única solución, he implementado una clase para la lectura a trozos
del fichero con fread, y ya funciona decentemente.

Realmente ha sido muy complejo, porque era un fichero en Json y además no puedo leer partiendo ningún registro, ya que luego, tengo
que insertar cada registro en SQL, completos, por supuesto.

Pero bueno resuelto y muchas gracias.