In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Problema de memoria

Foro de Xailer profesional en español
Responder
buzonjmartial
Mensajes: 100
Registrado: Vie Abr 10, 2009 11:02 pm

Problema de memoria

Mensaje 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?
Un Saludo,
Joaquín Martínez
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9246
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Re: Problema de memoria

Mensaje 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
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
buzonjmartial
Mensajes: 100
Registrado: Vie Abr 10, 2009 11:02 pm

Re: Problema de memoria

Mensaje 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.
Un Saludo,
Joaquín Martínez
Responder