Problema raro en la validación (SOLUCIONADO)

Post Reply
User avatar
Armando
Posts: 3251
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Problema raro en la validación (SOLUCIONADO)

Post 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
Last edited by Armando on Wed Aug 28, 2024 11:27 pm, edited 1 time in total.
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
karinha
Posts: 7885
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: Problema raro en la validación

Post 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.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
Armando
Posts: 3251
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Re: Problema raro en la validación

Post by Armando »

Estimado Karinha:

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

Muchas gracias
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Post Reply