Page 1 of 1

Como cerrar un dialogo automaticamente

Posted: Tue Mar 18, 2008 5:05 pm
by BenD
Mi problema es este:
tengo una consulta sql al motor de advantage....pero esta consulta puede a veces demorar mucho tiempo...
tengo un dialogo que le le pide al usuario un momento mientras se realiza la consulta
Si lo defino con NOWAIT, puede pasar tiempo antes de que la consulta retorne los resultados, y si no, me toca presionar "Esc" para que la ejecucion del programa siga... lo que tengo es algo similar a esto:

Code: Select all

...
...

DEFINE DIALOG oWNDFIS RESOURCE "ESPERA"
REDEFINE SAY ID 800 OF oWNDFIS FONT oFONT2   //Un momento por favor
ACTIVATE DIALOG oWNDFIS CENTER NOWAIT

ADSEXECUTESQLDIRECT(cSQL)
...
aqui muestro los resultados de la consulta
...
Lo que quiero es ismplemente mostrar el dialogo mientras se ejecuta la consulta y cerrarlo solo cuando los datos esten disponibles
Gracias de antemano por su ayuda

Posted: Tue Mar 18, 2008 5:50 pm
by Antonio Linares
Prueba así:

Code: Select all

... 
... 

DEFINE DIALOG oWNDFIS RESOURCE "ESPERA" 
REDEFINE SAY ID 800 OF oWNDFIS FONT oFONT2   //Un momento por favor 
ACTIVATE DIALOG oWNDFIS CENTER NOWAIT 

ADSEXECUTESQLDIRECT(cSQL) 
oWNDFIS:End()
... 
aqui muestro los resultados de la consulta 
... 

Funciona

Posted: Tue Mar 18, 2008 6:32 pm
by BenD
Gracias nuevamente...asi me funciono bien....
Yo creia que la funcion :END() solo podía llamarse en las subfunciones y actions del dialogo..