Gracias, pero no funciona
Sigo investigando y ahora he comprobado que este comportamiento s贸lo ocurre si el folder no tiene controles (lo que no suele suceder) o de los controles que tiene, no hay ninguno activo, Si hay un control activo la validaci贸n se ejecuta correctamente y el dialogo no se cierra pero si no tiene controles o todos los controles del di谩logo estan desactivados (lo que me sucede constantemente, por ejemplo cuando estamos en modo consulta) el dialogo se cierra siempre despues de ejecutar el valid
he modificado el ejemplo para comprobar lo que digo
STATIC FUNCTION Prueba1(oWnd)
Local oDlg, oFld, oGet1, cGet1, oGet3, cGet3, oBtn
DEFINE DIALOG oDlg TITLE "Dialogo"
@ 1,1 FOLDER oFld 聽PROMPT "Uno", "Dos", "Tres", "Cuatro" OF oDlg
cGet1 := SPACE(10)
@ 1,1 GET oGet1 VAR cGet1 OF oFld:aDialogs[1]
cGet3 := SPACE(10)
@ 1,1 GET oGet3 VAR cGet3 OF oFld:aDialogs[3]
oGet3:Disable()
@ 1,1 BUTTON oBtn 聽OF oFld:aDialogs[4]
ACTIVATE DIALOG oDlg NOWAIT CENTER;
聽 聽 聽 聽 聽VALID MsgYesNo("Salir")
RETURN NIL
En esta modificacion del ejemplo, si se pulsa escape cuando estamos en el primer o en el cuarto folder, el valid se ejecuta correctamente; sin embargo, si se pulsa en el segundo o en el tercero, el dialogo se cierra.
驴Habria alguna forma de modificar la CLASE para que busque alg煤n control activo del dialogo en el que se encuentra el folder para pasarle el foco y que de esta forma no se me cierre el dialogo?
Gracias