Cita de: gAb1 en 10 Septiembre 2014, 13:44 PMTengo un pequeño problema, y es que parece que la secuencia se repite en algun punto una sola vez, cuando se llama a la funcion END vuelve otra vez al principio, pero solo pasa una vez. No sé que puede ser.
Has de saber distinguir el uso de una llamada CALL de un GOTO.
El problema es que cuando haces un CALL al bloque :CheckLocked,
este a su vez hace un CALL al bloque :NOTLOCKED o al bloque :LOCKED,
y el problema es que en ambos bloques :NOTLOCKED/:LOCKED haces un GOTO a :END,
al no contener instrucciones el bloque :END, la llamada del CALL se acaba y vuelve al punto de inicio de ese CALL, es lo mismo que un GOTO:EOF.
Para solucionarlo:
Código (dos) [Seleccionar]
:END
Exit
Cita de: gAb1 en 10 Septiembre 2014, 13:44 PMA parte, cuando existe el archivo test.txt y escribes n(o) deberia terminar, pero por alguna razón aparece el siguiente menu, como si hubieras escrito s(i)
Es el mismo error que he comentado arriba, no estás terminando la ejecución del script, solo estás terminando una llamada a un bloque (CALL) así que vuelves a la linea en donde iniciaste ese CALL.
Cita de: gAb1 en 10 Septiembre 2014, 15:20 PM
¿Por casualidad no sabrás por qué me da este error?CitarError 216: This version of "C:\Users\HOME~1\AppData\Local\Temp\afolder\EditV64
.exe" is not compatible with the version of Windows you're running. Check your c
omputer's system information and then contact the software publisher.
Invalid password
Me he fijado en que la versión de Editv32 y Editv64 son la misma (3.0.0.0), pero la versión de 32 Bits parece no funcionar o bien en Windows 8/81 o bien en equipos de 64 Bits (no lo he comprobado a fondo).
Solo el propio desarrollador sabrá porque motivo ha querido imponer esa denegación de ejecución de la versión de 32 Bits, pero en caso de que no sea una limitación de uso en "X" versión de Windows entonces esto debería funcionar:
Código (dos) [Seleccionar]
:: X86
If Not Defined ProgramW6432 (
REM Ejecutar Editv32.exe
)
:: x64
If Defined ProgramW6432 (
REM Ejecutar Editv64.exe
)
PD: No he echo la prueba en un Windows 7/8 x86.
Saludos