FoxPro/Visual FoxPro - Problemas formulario con gran cantidad de objetos y código

 
Vista:
sin imagen de perfil

Problemas formulario con gran cantidad de objetos y código

Publicado por José A. (3 intervenciones) el 23/03/2017 12:24:05
Buenas a todos,

Actualmente tengo un formulario con gran cantidad de objetos y código. Ocurre a veces que en algunos métodos se ejecuta código que no debería. Por ejemplo ejecuta el código del ELSE de un IF cuando no debe ser así. He comprobado por todos los lados y no puedo dar con el problema, tampoco es un error que ocurra demasiadas veces, puede ser que ocurra una vez a la semana.

Sí que he comprobado que por método existe una limitación de código, que si la superas el formulario deja de funcionar, ahora mismo todos los métodos están por debajo de la limitación. Lo que no tengo claro es si existe una limitación en cantidad de objetos o cantidad de código agrupando todos los métodos del mismo, en el que si superas la limitación el formulario empieza a dar problemas.

Saludos y gracias.
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
sin imagen de perfil
Val: 1.011
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Problemas formulario con gran cantidad de objetos y código

Publicado por Fidel José (657 intervenciones) el 23/03/2017 19:42:20
Hasta la versión 6 de Visual Fox Pro, la limitación era 64K por PROCEDURE (o método de un form / clase)
En la versión 9 no está esa limitación.
Si un código tiene semejante tamaño, seguramente está mal programado. Seguramente hay partes que se puden delegar en subrutinas y casi siempre hay una manera de armar un procedimiento central que vaya llamando a las tareas que necesite.

No conozco un límite a la cantidad de objetos que pueden ir en un form. El límite está dado por la memoria del equipo que los inicializa. En los equipos actuales es irrelevante. Te pueden surgir problemas (corrupción de los binarios).

En cuanto a eso del IF ELSE ENDIF, realmente lo único que puede ocurrir es que te esté faltando el cierre de alguna estructura. Ciertamente que el IDE de Visual Fox puede no advertir la falta cuando las estructuras son muy complejas y también cuando se tratan partes con macrosustitución.
En cuanto a la complejidad de estructuras, siempre hay una forma de simplificar.
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
Imágen de perfil de Leonardo Daniel A.
Val: 1.115
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Problemas formulario con gran cantidad de objetos y código

Publicado por Leonardo Daniel A. (497 intervenciones) el 24/03/2017 04:11:37
pon el codigo, y para que usas los IF ??
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
sin imagen de perfil

Problemas formulario con gran cantidad de objetos y código

Publicado por José A. (3 intervenciones) el 27/03/2017 16:20:20
Muchas gracias por vuestras respuestas. El código está compilado con VFP9, también está revisado y es correcto, al ser tan extenso es imposible compartirlo con vosotros desde aquí. Tengo claro que bien estructurado no está y si que estoy planteando extraer código en PRG para reducir peso al formulario. El error cuando ocurre no siempre es la misma zona de código, alguna vez pasa en un método otra vez pasa en otro método diferente. Ahora mismo sólo ha ocurrido en un par de instalaciones. Me da la impresión de que por algún modo existe alguna limitación ya sea de VFP9 o como comentáis limitación de memoria del equipo.
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
Imágen de perfil de Leonardo Daniel A.
Val: 1.115
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Problemas formulario con gran cantidad de objetos y código

Publicado por Leonardo Daniel A. (497 intervenciones) el 27/03/2017 16:28:33
Usas los IF para validar si están vacíos los campos?
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
sin imagen de perfil

Problemas formulario con gran cantidad de objetos y código

Publicado por José A. (3 intervenciones) el 27/03/2017 16:50:42
No, realmente los utilizo para condicionales del tipo if variable1 then ....
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
sin imagen de perfil
Val: 1.011
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Problemas formulario con gran cantidad de objetos y código

Publicado por Fidel José (657 intervenciones) el 27/03/2017 22:21:19
Ya que no pareces dispuesto a poner ninguna pista (je, je), te sugiero una autoayuda:
Usa Foxbind2prg.exe para pasar los binarios (scx / sct) a una forma textual (sc2) y luego, desde la forma textual, intentas construir nuevamente los binarios. Foxbin2prg genera una backup antes de convertir lo que sea. Igualmente, es recomendable copiar ambos binarios a otra carpeta, para que cualquier distracción no te deje sin formulario.

http://fdbozzo.blogspot.com.es/2014/01/foxbin2prg-el-sucesor-mejorado-del.html
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