Bueno por si a alguien le sirve. Plantea la situacion de que el usuario por error cierra la ventana y no quieres que se pierda informacion, como puede ser una alta, una modificacion, etc... Para evitar que al cerrarlo se pierdan datos en transicion, podemos ubicar codigo en el evento Destroy del formulario en cuestion. Para este ejemplo he lanzado un messagebox que pregunta si guardar o no los datos. Este message box devuelve la respuesta del usuario y la almaceno en una variable para despues tomar las medidas correspondientes. Dichas acciones ya estan almacenadas en algunos eventos de botones que hay en los formularios, asi que solo mando a llamar dicho evento. IF numa > 0 then hesay = MESSAGEBOX("¿Desea guardar la venta?",4,"Guardar") *6 es si y 7 es no IF hesay == 6 then thisform.cmsave.Click ELSE thisform.cmgrpRight.cmcancel.Click ENDIF ENDIF