Error de anidamiento
Publicado por Willy (76 intervenciones) el 23/05/2006 20:51:43
Leí un articulo en portal fox, sobre ¿Cómo instalar el archivo EXE actualizado sin forzar a los usuarios a cerrar su aplicación?, y me pareció muy bueno, pues lo utilizé y corrió muy bien cuando lo generaba en VFP 8 con Win98, pero ahora lo e generado en VFP 8 pero en win 2000 y lo trato de correr desde win2000, me sale un error:
"Se excedió el nivel permitido de anidamiento o de evaluación de expresión DO"
Quizá han tenido el mismo problema y me puedan ayudar.
Aca le mando el código, agredeceré sus opiniones
Saludos
* Programa Lanzador (genérico).
LOCAL lcExecPath, lcFileName, lcSkeleton, lnFileCount
LOCAL lcExe, ltLatest, lnI
LOCAL ARRAY laFiles(1)
* Toma la ruta del directorio del archivo ejecutable
lcExecPath = JUSTPATH(SYS(16))
* Establece este directorio como predeterminado (Default)
SET DEFAULT TO (lcExecPath)
* Toma la raíz del nombre del archivo ejecutable
lcFileName = JUSTSTEM(SYS(16))
* Crea una matriz con los nombres de los EXEs posibles
lcSkeleton = lcFileName+"??.EXE"
&& lcSkeleton es un archivo comodín
&& para ADIR()
lnFileCount = ADIR(laFiles,lcSkeleton)
* Busca el archive EXE más reciente
lcEXE = ""
ltLatest = {}
FOR lnI = 1 TO lnFileCount
IF FDATE(laFiles(lnI,1),1) > ltLatest
ltLatest = FDATE(laFiles(lnI,1),1)
lcExe = laFiles(lnI,1)
ENDIF
ENDFOR
* Lanza la ejecución del EXE más reciente.
IF NOT EMPTY(lcExe)
DO (lcEXE)
ENDIF
"Se excedió el nivel permitido de anidamiento o de evaluación de expresión DO"
Quizá han tenido el mismo problema y me puedan ayudar.
Aca le mando el código, agredeceré sus opiniones
Saludos
* Programa Lanzador (genérico).
LOCAL lcExecPath, lcFileName, lcSkeleton, lnFileCount
LOCAL lcExe, ltLatest, lnI
LOCAL ARRAY laFiles(1)
* Toma la ruta del directorio del archivo ejecutable
lcExecPath = JUSTPATH(SYS(16))
* Establece este directorio como predeterminado (Default)
SET DEFAULT TO (lcExecPath)
* Toma la raíz del nombre del archivo ejecutable
lcFileName = JUSTSTEM(SYS(16))
* Crea una matriz con los nombres de los EXEs posibles
lcSkeleton = lcFileName+"??.EXE"
&& lcSkeleton es un archivo comodín
&& para ADIR()
lnFileCount = ADIR(laFiles,lcSkeleton)
* Busca el archive EXE más reciente
lcEXE = ""
ltLatest = {}
FOR lnI = 1 TO lnFileCount
IF FDATE(laFiles(lnI,1),1) > ltLatest
ltLatest = FDATE(laFiles(lnI,1),1)
lcExe = laFiles(lnI,1)
ENDIF
ENDFOR
* Lanza la ejecución del EXE más reciente.
IF NOT EMPTY(lcExe)
DO (lcEXE)
ENDIF
Valora esta pregunta


0