FoxPro/Visual FoxPro - MEMORIA INSUFICIENTE AL IMPRIMIR

   
Vista:

MEMORIA INSUFICIENTE AL IMPRIMIR

Publicado por Sebastian (1 intervención) el 17/01/2013 05:01:21
Hola a todos, cuando imprimo mas de 20 registros muestra este error "Memoria Insuficiente" luego presiono no enviar y se cierra el programa, la tabla tiene como 30,000 registros, el procedimiento es una busqueda por codigo del registro y luego lo imprimo; lo que necesito es como hacer para liberar la memoria o ya no salga este mensaje; la pc tiene 500mb de momoria, y el programa es pequeño este es mi codigo para imprimir que utilizo en un boton,

SET date to dmy
SET safety off

IF empty(thisform.text7.value)
=messagebox("Seleccione el numero de orden en la tabla el cual desea imprimir",32,"Mensaje del sistema")
thisform.grid1.setfocus
ELSE

IF messagebox("Si realizo cambios no olvide actualizar la informacion antes de imprimir"+chr(10)+"Desea Imprimir el registro:",36,"Mensaje del Sistema")=6

SELEC * from consultas where item = thisform.text11.value into table C:\informes\temp\reg

REPORT form info\examen preview

USE IN reg

thisform.grid1.recordsource =" "
thisform.grid1.refresh

IF thisform.grupo2.option1.value=1
SELEC tod_apo1
USE IN tod_apo1
ENDIF

IF thisform.grupo2.option2.value=1
SELEC tod_apo2
USE IN tod_apo2
ENDIF

ENDIF
ENDIF

Gracias de antemano por quien me pueda apoyar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

MEMORIA INSUFICIENTE AL IMPRIMIR

Publicado por es_binario (757 intervenciones) el 17/01/2013 12:55:02
La cuestión, no es cuantos registros tiene la tabla, sino cuantos registros son los que terminan en el reporte, pero bien podría ser falta de espacio en el disco duro.
La otra podría ser la memoria virtual de Windows. Depende del sistema y características de tu equipo.
Comenta, para analizarlo a fondo.


500Mb de Disco Duro o 512Mb de Ram?? ambos son importantes en este caso.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

MEMORIA INSUFICIENTE AL IMPRIMIR

Publicado por Juan Manuel Cruz Torres juanmcruz@hotmail.com (508 intervenciones) el 17/01/2013 17:12:16
Muy poca memoria veo yo.

Pregunta importante: ¿tu reporte incluye imágenes? Apuesto a que sí, y muchas de ellas de tamaño considerable.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

MEMORIA INSUFICIENTE AL IMPRIMIR

Publicado por Fidel (558 intervenciones) el 17/01/2013 19:07:52
Para problemas de escasez de memoria, puedes utilizar esta rutina antes de mandar el reporte
SELEC * from consultas where item = thisform.text11.value into table C:\informes\temp\reg
ReduceMemory()
REPORT form info\examen preview

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
*****************************************************************************************
* Function....:     ReduceMemory()
* Author......:  Bernard Bout
* Date........:  05/12/2007 3:03:15 PM
* Returns.....:
* Parameters..:
* Notes.......:  reduces memory usage for vfp
*****************************************************************************************
Function ReduceMemory()
 
Declare Integer SetProcessWorkingSetSize In kernel32 As SetProcessWorkingSetSize  ;
    Integer hProcess , ;
    Integer dwMinimumWorkingSetSize , ;
    Integer dwMaximumWorkingSetSize
Declare Integer GetCurrentProcess In kernel32 As GetCurrentProcess
nProc = GetCurrentProcess()
bb = SetProcessWorkingSetSize(nProc,-1,-1)
ENDFUNC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar