Error 32 al querer renombrarse un achivo

Post Reply
User avatar
goosfancito
Posts: 1955
Joined: Fri Oct 07, 2005 7:08 pm

Error 32 al querer renombrarse un achivo

Post 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.
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
Antonio Linares
Site Admin
Posts: 42259
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Error 32 al querer renombrarse un achivo

Post 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.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
goosfancito
Posts: 1955
Joined: Fri Oct 07, 2005 7:08 pm

Re: Error 32 al querer renombrarse un achivo

Post 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:

Code: Select all | Expand

frenarme(::cFile, "ejemplo.xml")
 
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
Antonio Linares
Site Admin
Posts: 42259
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Error 32 al querer renombrarse un achivo

Post 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()
...
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
goosfancito
Posts: 1955
Joined: Fri Oct 07, 2005 7:08 pm

Re: Error 32 al querer renombrarse un achivo

Post by goosfancito »

Consulto:

Si abro un archivo con

Code: Select all | Expand

  LOCAL hFile      := FOpen( ::cFile )
 
y luego lo cierro con

Code: Select all | Expand

fclose(hFile)
sysrefresh()
 
y hago un fwdbg hFile, el valor de "hfile" debe ser "nil"?

porque me sigue devolvieron un valor numérico.
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
paquitohm
Posts: 284
Joined: Fri Jan 14, 2022 8:37 am

Re: Error 32 al querer renombrarse un achivo

Post 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
User avatar
karinha
Posts: 7885
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: Error 32 al querer renombrarse un achivo

Post 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.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
Willi Quintana
Posts: 1023
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú
Contact:

Re: Error 32 al querer renombrarse un achivo

Post by Willi Quintana »

MI estimado, una salida:

Code: Select all | Expand

LOCAL hFile 
.......
rename(::cfile, "ejemplo.xml")
hFile      := FOpen( ::cFile )
.....
...
..
.
fclose(hfile)

 
Post Reply