Tengo el siguiente código, ojo esta montado en un FOLDEREX para que el usuario elija
un archivo desde una carpeta.
- Code: Select all Expand view
REDEFINE GET aGets3[01] VAR oEmp:CER ID 301 OF oFld:aDialogs[3] UPDATE;
BITMAP "Bus16";
ACTION (oEmp:CER := cFileName(cFileNoPath(cGetFile("Archivo CER | *.CER",;
"Seleccione el archivo .CER",1,".\Certificados"))),oFld:UPDATE());
VALID ValCer(oFld,aGets3);
MESSAGE "Nombre del archivo .CER"
La función ValCER(oFld,aGets3) es la siguiente
- Code: Select all Expand view
STATIC FUNCTION ValCer(oFld,aGets3)
IF ! FILE(oApp:cPathCer + ALLTRIM(oEmp:CER))
MsgInfo("Archivo .CER " + ALLTRIM(oEmp:CER) + ", no existe !",oApp:cAplicacion)
oFld:SetOption(3)
oFld:nOption := 3
oFld:Refresh()
aGets3[01]:SETFOCUS()
RETURN(.F.)
ENDIF
RETURN(.T.)
La validación es solo para saber si el archivo/fichero existe, si no existe devuelve FALSE o
TRUE si ya existe.
El problema es que cuando devuelve FALSE se queda en un LOOP, regresa al GET y vuelve a ir
a la validación, regresa al GET y vuelve a ir a la validación. Tengo que matar la aplicación con
el administrador de tareas, alguna sugerencia?
Saludos