controlar botón cerrar ventana


([N1] Víctor Russo) #1

He notado que cuando estamos ingresando datos en un formulario que tiene plurales al hacer un alta en la tabla plural se genera un registro en el maestro, lo cual se entiende porque lo necesita para generar la relación, pero lo que me está pasando es que cuando le doy cancelar o cierro de la ventana desde el botón Cerrar (la x) me queda creado el registro en el maestro y los que haya creado en los plurales. Lo del botón Cancelar ya lo solucioné porque creé a nivel de tabla antes de eliminar un registro que me elimine los plurales del mismo y lo único que tengo que hacer es eliminar el registro maestro desde el evento del botón cancelar, (atención: que hay que hacer un control en ese evento que identifique si es un alta porque en modificación no debería eliminar el registro). eso estaría resuelto, pero no puedo controlar si el usuario presiona el botón Cerrar (x), se que se puede hacer un proceso con un timer que elimine esos registros ó trabajar en tablas temporales y volcar los datos cuando solo se le da aceptar, pero me gustaría saber si hay forma de controlar ese botón (x). Gracias Velneadores.


([N1] Pepeto) #2

Es el funcionamiento correcto, fijate en lo siguiente:
- Si intentas dar el alta de un registro, y cancelas el formulario sin haber entrado en ninguno de sus plurales, el registro no es creado y por tanto no tienes necesidad de eliminarlo
- Pero si antes de cancelar el registro, has entrado en alguno de sus plurales y has intentado dar un alta, incluso aunque al final no hayas finalizado el alta, la ficha del maestro se guarda y es entonces cuando debes eliminarla.

Hasta aqui es correcto, y si el problema es que no sabes distinguir cuando es Alta o Modificacion para evitar que el boton cancelar borre el registro, creo que lo mejor es que tengas 2 formularios. uno para altas y otro para modificaciones, y lo indicas en la rejilla correspondientes y ya esta.

un saludo
José Luis
http://www.ascsl.com


([N1] Víctor Russo) #3

Gracias José Luis.
Entiendo lo de identificar el Alta o Modificación y eso no es problema se resuelve bien como tu dices.
Pero mi problema es si se cierra la ventana por el botón (x). ¿No tengo como controlar esa salida del formulario o hacer que no se visualice el botón (x)?

Saludo
Víctor


([N1] Pepeto) #4

Te refieres a la "X" del sistema, ese problema lo tenemos todos, pero si te resulta imprescindible, siempre podras controlarlo con alguna DLL.

un saludo
José Luis.
http://www.ascsl.com


([N1] Víctor Russo) #5

Ok. si es la "X" del sistema.
Gracias por el aporte, me pongo a resolverlo por ese lado.

gracias de nuevo.

Víctor






([N2] bannu) #6

En el siguiente enlace tenéis una utilidad para desactivar el botón del cierre de los formularios.

Las funciones no se pueden llamar al inicializar el formulario porque deshabilitarían el botón de cierre de la ventana principal, se tiene que crear una conexión de evento Gana foco, y el control se selecciona el primer control que recibe el foco

www.bitcodesoft.com/Demos/SystemMenu.vin

[attachment=19910,1589]

[attachment=19910,1590]


([N1] comercial) #7

Hola, veamos pero ¿ eso no estaba solucionado con el 'bloqueo duro'?, entonces que significado/uso tiene esto.
http://velneo.es/formularios-bloqueo-blando-y-bloqueo-duro

PD:No se porque las cosas que en su momento son la Bomba, luego pasan a mejor vida ¿?.


([N1] Pepeto) #8

@Comercial.arhes2000

Me parece que te has echo un pequeño lio.

- El Bloqueo duro/blando, se refiere al modo de bloqueo de los registros y no a su representacion en un formulario en pantalla
- La DLL que muestra Sonovision es para cambiar el inferfaz de las ventanas de Windows.

un saludo
José Luis
http://www.ascsl.com


([N1] comercial) #9

Hola, si Jose Luis son dos cosas diferentes, pero una consecuencia de la otra, lo que yo me refiero es que si el tema bloque duro es lo que debe ser y funcional entonces no hay necesidad de esconder el botón de cierre, porque se cancelaría la transacción anulando el alta del registro maestro y todo lo demás, ¿o no?. Vale puede que el mecanismo no funcione con la j.. x. Por cierto habéis probado si quitar el botón de cierre con una DLL, que seguramente solo funcione en Windows, anula la posibilidad de cerrar con Alt+F4, creo que no.

Saludos.
Miguel.


([N1] Giuseppe::Komenco) #10

Como dice @Comercial.arhes2000 , también lo veo asi.

Teoricamente, según el video que enseñó donde Juan precisamente mostraba el bloqueo duro, era para ésto.

Y hablando de todo un poco, donde se activa? poque según el enlace es una propiedad del objeto formulario, pero no la veo.


([N1] JuanDD) #11

Hola, Giuseppe, se activa en la propiedad Estilo del formulario.

Saludos.
Miguel.


([N1] Pepeto) #12

Se activa en la propiedad "Estilos"

un saludo
José Luis
http://www.ascsl.com


([N1] comercial) #13

Jejejeje 19:43 vs 19:44 esto me suena de algo...