Problema con Dialogo que no se cierra en FiveLinux

Problema con Dialogo que no se cierra en FiveLinux

Postby jgayoso » Wed Mar 30, 2011 8:38 pm

Tengo un dialogo que me dice si deseo repetir o salir, el problema que si le digo repetir el mismo dialogo el anterior no se cierra .

do while .T.
i:=msgbox('Pregunta',{'Repetir','Salir'})
if I=2
Exit
endif
Enddo

Msgbox es un dialogo que desplega los 2 botones (Repetir y Salir), al dar salir todo OK y sale. Pero al dar repetir, no cierra el dialogo de msgbox y al entrar de nuevo al mismo, lo muestra pero no deja seleccionar nada y se va un ciclo.

Estoy con UBUNTU 10.04 LTS

Quedo a la espera... y se agradece desde ya
jgayoso
 
Posts: 170
Joined: Sat Aug 07, 2010 11:36 pm
Location: Chile

Re: Problema con Dialogo que no se cierra en FiveLinux

Postby Antonio Linares » Fri Apr 01, 2011 9:44 am

Como has definido la función msgbox() ?

La has implementado tu ?

Este código funciona bien:
Code: Select all  Expand view

do while .T.
i:=msgyesno('Pregunta')
if i
   Exit
endif
Enddo
 
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41206
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Problema con Dialogo que no se cierra en FiveLinux

Postby jgayoso » Mon Apr 04, 2011 6:29 pm

Antonio, coloque un msgalert e igual, despues de presionar una tecla de confirmación, no sale del Dialogo de MsgAlert me lo sigue mostrando.

Mi programa realiza un chequeo y luego si esta todo OK muestra el menu. Si hay algo malo lo informa mediando un menasaje, antes de mostrar la ventana principal.

Se agradece cualquier ayuda.

Jorge Gayoso



Antonio Linares wrote:Como has definido la función msgbox() ?

La has implementado tu ?

Este código funciona bien:
Code: Select all  Expand view

do while .T.
i:=msgyesno('Pregunta')
if i
   Exit
endif
Enddo
 
jgayoso
 
Posts: 170
Joined: Sat Aug 07, 2010 11:36 pm
Location: Chile

Re: Problema con Dialogo que no se cierra en FiveLinux

Postby jgayoso » Mon Apr 04, 2011 6:50 pm

Si coloco msgalert entre mis proceso, se van refrescando a medida que pasa de un msgalert a otro. ¿Habra algo que refresque windows despues de msgalert como doevent en visual basic?

Se agrade cualquier ayuda.




Antonio Linares wrote:Como has definido la función msgbox() ?

La has implementado tu ?

Este código funciona bien:
Code: Select all  Expand view

do while .T.
i:=msgyesno('Pregunta')
if i
   Exit
endif
Enddo
 
jgayoso
 
Posts: 170
Joined: Sat Aug 07, 2010 11:36 pm
Location: Chile

Re: Problema con Dialogo que no se cierra en FiveLinux

Postby Antonio Linares » Mon Apr 04, 2011 8:01 pm

Llama a SysRefresh() para procesar los eventos pendientes.

Igual que en FiveWin :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41206
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Problema con Dialogo que no se cierra en FiveLinux

Postby jgayoso » Tue Apr 05, 2011 6:11 pm

Antonio, pude hacer parar el dialogo de la siguiente manera, adjunto extracto del codigo:

No se si esta correcto, pero me funciona bien.

Agradecere tus comentarios u opinión como maestro....

Jorge Gayoso


Function msgbox(cTextoMsg, aPrompts, nDef, nStp, sStp, sColor, tNotas,xdescr, cJustificado)
Local oDlg, lExit := .F., nSeleccion := 0, nI, nC:=1, nLB, tG:={}, nL, nAnchoDialogo, nAltoDialogo
Local nAnchoLetra:=9, nAltoLetra:=24,nAnchoParaBotones
.
.
.
.
DEFINE DIALOG oDlg SIZE nAnchoDialogo, nAltoDialogo
nL:=1
for nI:=1 to len(tG)
@nL,1 say tG[nI] OF oDlg SIZE len(tG[nI])*nAnchoLetra,nAltoLetra
nL:=nL+2
next nI
nL:=nL+1
@ nL, nC BUTTON aPrompts[1] OF oDlg SIZE nLB*nAnchoLetra,nAltoLetra ACTION ( nSeleccion:=1, lExit := .T., oDlg:End() )
nC+=nLB
if len(aPrompts)>=2
@ nL, nC BUTTON aPrompts[2] OF oDlg SIZE nLB*nAnchoLetra,nAltoLetra ACTION ( nSeleccion:=2, lExit := .T., oDlg:End() )
nC+=nLB
endif
.
.
.
ACTIVATE DIALOG oDlg VALID lExit CENTER
do while .not. lExit
SysRefresh()
enddo
msgalert('paso')
Return nSeleccion




Antonio Linares wrote:Llama a SysRefresh() para procesar los eventos pendientes.

Igual que en FiveWin :-)
jgayoso
 
Posts: 170
Joined: Sat Aug 07, 2010 11:36 pm
Location: Chile

Re: Problema con Dialogo que no se cierra en FiveLinux

Postby Antonio Linares » Tue Apr 05, 2011 10:06 pm

Si, está bien :-)

Es una forma correcta de hacerlo modal
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41206
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Problema con Dialogo que no se cierra en FiveLinux

Postby jgayoso » Wed Apr 06, 2011 1:39 pm

Una vez mas gracias... Antonio.

Antonio Linares wrote:Si, está bien :-)

Es una forma correcta de hacerlo modal
jgayoso
 
Posts: 170
Joined: Sat Aug 07, 2010 11:36 pm
Location: Chile


Return to FiveLinux / FiveDroid (Android)

Who is online

Users browsing this forum: No registered users and 8 guests