Page 1 of 1
Error 32 al querer renombrarse un achivo
Posted: Wed Mar 06, 2024 6:58 pm
by goosfancito
Hola.
Cuando quiero usar la función Frename() no me deja renombrar el archivo y me tira un -1, mirando con el FError() me tira el numero 32
que significa? como puedo solucionarlo?
gracias.
Re: Error 32 al querer renombrarse un achivo
Posted: Wed Mar 06, 2024 9:51 pm
by Antonio Linares
Para este tipo de consultas es muy recomendable preguntar primero a chatgpt y a google Gemini, para tener una primera idea de lo que pueda estar pasando.
Re: Error 32 al querer renombrarse un achivo
Posted: Thu Mar 07, 2024 4:46 am
by goosfancito
Te comento donde tengo el problema.
Code: Select all | Expand
LOCAL hFile := FOpen( ::cFile )
...
fclose(hfile)
fwdbg hFile -------------------- aca hfile siempre me da un numero diferente de cero, ya probe hacer esto hFile:= Nil
frename(::cfile, "ejemplo.xml")
En cambio si hago esto otro si me funciona el frenarme si no lo abro antes:
Re: Error 32 al querer renombrarse un achivo
Posted: Thu Mar 07, 2024 7:30 am
by Antonio Linares
Prueba a hacer un SysRefresh() antes del rename para darle opción a Windows a procesar tu petición:
fclose(hfile)
SysRefresh()
...
Re: Error 32 al querer renombrarse un achivo
Posted: Thu Mar 07, 2024 10:41 am
by goosfancito
Consulto:
Si abro un archivo con
y luego lo cierro con
y hago un fwdbg hFile, el valor de "hfile" debe ser "nil"?
porque me sigue devolvieron un valor numérico.
Re: Error 32 al querer renombrarse un achivo
Posted: Thu Mar 07, 2024 1:41 pm
by paquitohm
hfile toma valor, y aunque se cierre con FClose() ese valor permanece.
No hay ningun tipo de ligazón entre hFile y el fichero al que representa más que con el uso de las funciones file
Re: Error 32 al querer renombrarse un achivo
Posted: Thu Mar 07, 2024 3:24 pm
by karinha
Code: Select all | Expand
#Include "FiveWin.ch"
#Include "Fileio.ch"
FUNCTION Main()
LOCAL nResult
// LOCAL hFile := FOpen( "TEXTO.txt", FO_READWRITE )
LOCAL hFile := FOpen( "TEXTO.txt" )
IF .NOT. FILE( "TEXTO.txt" )
? " Ooopppsss "
RETURN NIL
ENDIF
fClose( hfile )
nResult := FRename( "TEXTO.txt", "TEXTO1.txt" )
IF nResult == F_ERROR
? "No se pudo cambiar el nombre del archivo"
ENDIF
RETURN NIL
// FIN / END
Regards, saludos.
Re: Error 32 al querer renombrarse un achivo
Posted: Thu Mar 07, 2024 4:55 pm
by Willi Quintana
MI estimado, una salida:
Code: Select all | Expand
LOCAL hFile
.......
rename(::cfile, "ejemplo.xml")
hFile := FOpen( ::cFile )
.....
...
..
.
fclose(hfile)