Mensaje de memoria insuficiente

Hola, tengo un pequeño programa donde utilizo estos códigos para actualizar la información, por ejemplo.

Replace registro_A With registro_B

el problema es que después de actualizar la información de cada registros, muestra una ventana del fox diciendo memoria insuficiente, como puedo solucionar este problema.

Gracias

4 Respuestas

Respuesta
1

Debes primero verificar que no sea problema del hardware donde estas corriendo la aplicación, segundo debes verificar que tipo de campos son los que estas reemplazando, tercero me gustaría saber exactamente que es lo que estas haciendo (código completo) ya que con ese ejemplo que pusiste no es posible determinar la causa.

Una cuarta opción es que generes nuevamente el proyecto de tu aplicación con la opción volver a generar todos los archivos activa y verificar si existe algún problema de archivos corruptos o algo así.

Muchas gracias por responder estuve probando y la primera opción puede ser cierta porque el error solo se genera en esa Pc donde esta instalado el programa, tengo que verificar.

La segunda opción revise como indico y si tuve un error tengo un campo en la tabla de tipo carácter y en la propiedad del text en el InputMask coloque 999999 para que guarde solo números cuando limpio el text lo hacia de esta forma thisform.text5.value = "" ya corregí el campo de la tabla en numérico y limpio el text así thisform.text5.value = 0 y borre los 999999

Envío la tercera opción

SELEC consultas
IF thisform.Text1.value > date()
=messagebox("La fecha de ingreso debe ser < a la fecha actual","Mensaje del sistema")
thisform.Text1.setfocus
ELSE
IF empty(thisform.Text1.value) or empty(thisform.text7.value) or empty(thisform.text2.value)
=messagebox("Registros incompletos","Mensaje del sistema")
thisform.grupo1.option1.setfocus
ELSE
IF messagebox("Desea grabar los registros",36,"Mensaje del Sistema")=6
REPLACE mue1 with ""
REPLACE mue2 with ""
REPLACE mue3 with ""
REPLACE mue4 with ""
IF thisform.grupo1.option1.value=1
REPLACE sed_codigo with "CHMS"
REPLACE mue1 with "POR"
ELSE
IF thisform.grupo1.option2.value=1
REPLACE sed_codigo with "CMSS"
REPLACE mue2 with "POR"
ELSE
IF thisform.grupo1.option3.value=1
REPLACE sed_codigo with "CMSE"
REPLACE mue3 with "POR"
ELSE
IF thisform.grupo1.option4.value=1
REPLACE sed_codigo with "CMSSI"
REPLACE mue4 with "POR"
ENDIF
ENDIF
ENDIF
ENDIF
REPLACE fecha with thisform.Text1.value
REPLACE orden with thisform.text7.value
REPLACE pac_hc with thisform.text2.value
REPLACE nombres with thisform.text4.value
REPLACE programa with thisform.text8.value
REPLACE habitacion with thisform.text6.value
REPLACE medico with thisform.text10.value
REPLACE especi with thisform.text9.value
REPLACE otros with thisform.edit1.value
REPLACE resultado with thisform.edit2.value
thisform.x_borrar && solo borra los text
ENDIF
ENDIF
ENDIF

La cuarta opción, lo genero al momento que realizo alguno cambio

Ok

Veo que estas utilizando edit en algunos campos, verifica y hazle un filtro para que el usuario dentro de esos edit no ponga caracteres especiales que en alguna ocasión me jugaron una mala pasada, también me gustaría saber en que linea del replace que estas haciendo es en la que ocurre el error.

Estaré atento a cualquier novedad

Salu2

Hola, si tienes razón el problema es en el edit, cuando estoy actualizando mas de 10 registros aparece este mensaje. y solo modifico registros en el edit2 del campo resultado. y como puedo solucionar este problema. gracias

Primero que todo debes validar que el usuario no ponga mas caracteres de los que el campo tiene asignado, normalmente y bajo mi experiencia utilizo campos memo cuando voy a dejar que el usuario registre en edit... eso debería funcionarte.

Salu2

Respuesta
1

Veamos este problema se origina porque utilizas las llamadas repetitivas de varios programas en otras palabras si llamas demasiados (Do programa) visual foxpro te dará ese problemas... La única manera seria tratar de reducir las llamadas..

Hola tienes razón cuando ejecuto mi programa llama a un menú, desde ahí llamo al primer formulario luego desde este formulario llamo con un Do Form "Otro formulario para modificación" ahí después de modificar varios registros recién muestra el error.

Pregunta: En la respuesta anterior me hablas de (Do programa) debe ser igual si lo llamo con Do Form verdad.

Así es, Trata de utilizar lo menos posible la clausula DO para evitar este error.


Respuesta
1

¿Cuántos campos guardas la tabla se queda abierta? Dale una miradita ha este video para trabajar con tablas sin tenerlas abiertas todo el tiempo.

www.ingesoftsrl.net/fox

Respuesta
1

Ya me habían hablado de ese error! :O Dime exactamente cual es el error que muestra el cuadro (escríbelo tal cual) para saber exactamente el numero de error! Porque hay varios errores relacionados con la falta de memoria!

Hola amigo muchas gracias por su ayuda pero ya no sale ningún error que habrá pasado pero en fin mientras no moleste lo dejare ahí.

Gracias por tu ayuda.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas