Procesos "Previo" y "Posterior" en un botón de Formulario


([N2] overall) #1

Buenos días,

Estos dos procesos son fundamentales a la hora de desarrollar cualquier aplicación. Lo he estado mirando y tampoco los he visto en esta nueva versión. Sin éstos procesos no puedes validar nunca los datos introducidos por el usuario. Ahora lo tengo hecho con el evento "ganar foco", pero no funciona si directamente clicas enter. 

Igual se me escapa algo, pero no se como tener el control absoluto de un formulario. Si esto es así no podemos desarrollar ninguna aplicación para el usuario final, solo podemos hacer pruebas.

Saludos

Overall


([N4] eic) #2

Hola.

Parece que ahora eso se hace de otra manera: p.ej., para el botón Aceptar, se hace que ejecute un evento. En ese evento, puedes hacer todas las comprobaciones necesarias. Si hay algún error, sales sin aceptar (set retorno proceso = no y finalizar proceso). Si no hay errores, usas la instrucción "Interfaz: Aceptar". Es decir, el botón NO ejecuta Aceptar, sino que lo ejecutas dentro del evento.

Puedes ver un ejemplo en la aplicación vBugman, en el formulario de incidencias, en el botón de Aceptar (evento ON_ACCEPT).

Saludos,

Fran Varona

 


([N2] overall) #3

Muchas gracias Fran, lo probaré como dices.

Saludos

Overall


([N4] fgutierrez.velneo) #4

Te lo ha explicado muy bien Fran. La misma opción la tienes para el botón Cancelar, ya que tienes un comando de instrucción Interfaz: Cancelar, lo que te permite gestionar tanto el pre como el post en un evento.

En el proceso que te indica de vBugMan, verás también el uso del comando de Interfaz: Activar foco objeto, para activar el foco en controles según ciertas condiciones, por ejemplo si falta un dato.

Un saludo.

 

 


([N2] overall) #5

Muchas gracias por vuestra información,

Lo he probado en una de las aplicaciones que tengo, y cuando aplico en el evento del botón la instrucción "Interfaz: aceptar", lo que hace es cerrarme el formulario tipo menú que tengo de fondo, dejándome el formulario donde tengo la instrucción abierto. Si le doy de nuevo en aceptar me cierra toda la aplicación. Es muy extraño, pero he repasado procesos, reiniciado instancias, etc... y no donde puede estar el error.

Saludos,

Overall


([N4] fgutierrez.velneo) #6

Me imagino que el formulario en el que tienes el evento ha sido lanzado por evento. Hay una incidencia sobre el uso del comando interfaz en formularios que han sido abiertos por medio de un evento.

¿Puedes evitar abrir ese formulario desde un evento?

Un saludo.


([N2] overall) #7

Si, si, es llamado desde un evento.

Gracias

OVerall


([N1] wikan) #8

Creo que es lo mismo que pasa en una aplicación que estaba desarrollando.

Abro un formulario mediante el doble click en una rejilla y luego, Interfaz: Aceptar no funciona. Se queda como si no hicieras nada, es decir, no acepta.