FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveLinux / FiveDroid (Android) Problema con Dialogo que no se cierra en FiveLinux
Posts: 170
Joined: Sat Aug 07, 2010 11:36 PM
Problema con Dialogo que no se cierra en FiveLinux
Posted: Wed Mar 30, 2011 08: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

Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Problema con Dialogo que no se cierra en FiveLinux
Posted: Fri Apr 01, 2011 09:44 AM
Como has definido la funci贸n msgbox() ?

La has implementado tu ?

Este c贸digo funciona bien:
Code (fw): Select all Collapse
do while .T.
i:=msgyesno('Pregunta')
if i
   Exit
endif
Enddo
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 170
Joined: Sat Aug 07, 2010 11:36 PM
Re: Problema con Dialogo que no se cierra en FiveLinux
Posted: Mon Apr 04, 2011 06: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 (fw): Select all Collapse
do while .T.
i:=msgyesno('Pregunta')
if i
聽 聽Exit
endif
Enddo
Posts: 170
Joined: Sat Aug 07, 2010 11:36 PM
Re: Problema con Dialogo que no se cierra en FiveLinux
Posted: Mon Apr 04, 2011 06: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 (fw): Select all Collapse
do while .T.
i:=msgyesno('Pregunta')
if i
聽 聽Exit
endif
Enddo
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Problema con Dialogo que no se cierra en FiveLinux
Posted: Mon Apr 04, 2011 08:01 PM

Llama a SysRefresh() para procesar los eventos pendientes.

Igual que en FiveWin :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 170
Joined: Sat Aug 07, 2010 11:36 PM
Re: Problema con Dialogo que no se cierra en FiveLinux
Posted: Tue Apr 05, 2011 06: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 :-)
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Problema con Dialogo que no se cierra en FiveLinux
Posted: Tue Apr 05, 2011 10:06 PM

Si, est谩 bien :-)

Es una forma correcta de hacerlo modal

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 170
Joined: Sat Aug 07, 2010 11:36 PM
Re: Problema con Dialogo que no se cierra en FiveLinux
Posted: Wed Apr 06, 2011 01:39 PM
Una vez mas gracias... Antonio.

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

Es una forma correcta de hacerlo modal

Continue the discussion