In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

cerrar formulario principal

Foro de Xailer profesional en español
Responder
Francisco Sanchez
Mensajes: 532
Registrado: Mié Feb 09, 2005 6:20 pm

cerrar formulario principal

Mensaje por Francisco Sanchez »

Vamos a ver en el evento onclose llamo a un metodo que me comprueba si hay
algun formulario, ademas del principal, abierto. Muestro un msgyesno para
saber si quiere abandonar la aplicacion. En caso afirmativo cierra todos los
formularios y demas. Pero en caso negativo, tambien me abandona la
aplicacion y no se como controlar esto. De momento lo que hago es volver a
hacer :New() y :Show() del formulario principal, pero claro asi me deja el
formulario principal pero no los formularios hijos que los cierra. Se que lo
estoy haciendo mal, como tendria que hacerlo ?
Atentamente : Francisco Sanchez GERENTE GRUPO ST - Software TOTAL
jlalin
Mensajes: 926
Registrado: Sab Dic 25, 2010 11:10 pm

cerrar formulario principal

Mensaje por jlalin »

Francisco,
recuerda que el formato de OnClose es: EVENT OnClose( oSender, @lClose )
¿ Estás poniendo lClose a TRUE o FALSE desde el evento ?
Saludos,
José Lalí­n
Francisco Sanchez
Mensajes: 532
Registrado: Mié Feb 09, 2005 6:20 pm

cerrar formulario principal

Mensaje por Francisco Sanchez »

pues ahi lo estare haciendo mal pues estoy haciendo :
WITH OBJECT ::oFormPrincipal := TMiFormulario ():New()
:OnClose := { || MiMetodo() }
:Show()
END
......
METHOD MiMetodo() CLASS .....
If MsgYesno( .... )
Application:Terminate()
......
Else
.... aqui esta el problema que ya ponga lo que ponga aqui me abandona la
aplicacion. Esto es lo que hago mal a parte de que no paso ningun parametro
Endif
RETURN NIL
Atentamente : Francisco Sanchez GERENTE GRUPO ST - Software TOTAL
jlalin
Mensajes: 926
Registrado: Sab Dic 25, 2010 11:10 pm

cerrar formulario principal

Mensaje por jlalin »

Francisco,
prueba declarando el evento así­:
:OnClose := { |oSender| MiMetodo( oSender, @lClose ) }
Y el método así­:
METHOD MiMetodo( oSender, lClose ) CLASS .....
lClose := MsgYesno( .... )
RETURN Nil
Saludos,
José Lalí­n
Francisco Sanchez
Mensajes: 532
Registrado: Mié Feb 09, 2005 6:20 pm

cerrar formulario principal

Mensaje por Francisco Sanchez »

YA ESTA ya lo solucione devolviendo .t. o .f. en funcion de si se cierra el
formulario o no, uff que obvio, estoy algo espeso hoy. LLevo ya muchas
horas trabajando. Disculpad mi torpeza.
Atentamente : Francisco Sanchez GERENTE GRUPO ST - Software TOTAL
Responder