Page 1 of 1

Problema raro en la validación (SOLUCIONADO)

Posted: Wed Aug 28, 2024 6:47 pm
by Armando
Amigos del foro:

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

            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

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

Re: Problema raro en la validación

Posted: Wed Aug 28, 2024 9:01 pm
by karinha
Armando, revisa que aGets3[01] no esté repetido en las demás carpetas(Folders). La secuencia GETS debe ser desde 01, hasta el final de ARRAY(), luego aGets3[01], aGets3[02], aGets3[03], hasta aGets3[50], bajo ninguna circunstancia repetir el mismo aGets[nn]. No importa qué carpeta[Folder] sea, debes seguir la secuencia numérica.

Code: Select all | Expand

   LOCAL aGets3 := ARRAY(50) // por ejemplo.
 
O publique el código completo para críticas y análisis.

Regards, saludos.

Re: Problema raro en la validación

Posted: Wed Aug 28, 2024 11:26 pm
by Armando
Estimado Karinha:

Cierto, ese era mi problema, lo reitero, las prisas son malas consejeras.

Muchas gracias