Page 1 of 1
DOS ERROR 161 que hacer en windows de 64 bits?
Posted: Fri May 10, 2019 3:26 pm
by karinha
Un simples COPY TO newname.dbf, retorna DOS ERROR 161. Solo en windows de 64 bits, Imagen:
Como elimino este \\newname.dbf por ejemplo?
Los archivos estan en, P:\
Gracias, Saludos.
Re: DOS ERROR 161 que hacer en windows de 64 bits?
Posted: Fri May 10, 2019 6:01 pm
by Antonio Linares
Joao,
https://docs.microsoft.com/en-us/window ... es--0-499-
ERROR_BAD_PATHNAME
161 (0xA1)
The specified path is invalid.
Re: DOS ERROR 161 que hacer en windows de 64 bits?
Posted: Fri May 10, 2019 6:17 pm
by karinha
Master Antonio:
Code: Select all
PUBLIC cDirPleno
cDirPleno := GETCURDIR()
IF SUBS( cDirPleno, LEN( ALLTRIM(cDirPleno ) ) , 1 ) = "\"
cDirPleno := SUBS( cDirPleno, 1 , LEN( ALLTRIM(cDirPleno ) ) - 1 )
ENDIF
LCHDIR( cDirPleno )
SET DEFAULT TO
No funciona en windows de 64 bits en windows 7 32 bits, normal. Retorna: \\
Debria retornar del servidor, P:\NOMBRE.DBF
??
Re: DOS ERROR 161 que hacer en windows de 64 bits?
Posted: Fri May 10, 2019 6:56 pm
by Antonio Linares
Joao,
No hay diferencias en el código fuente de esa función para 32 ó 64 bits:
Code: Select all
HB_FUNC( GETCURDIR )
{
DWORD dwLen = GetCurrentDirectory( 0, NULL );
if( dwLen )
{
char * pBuffer = ( char * ) hb_xgrab( dwLen );
GetCurrentDirectory( dwLen, pBuffer );
hb_retc( pBuffer );
hb_xfree( pBuffer );
}
else
hb_retc( "" );
}
Por lo que debería funcionar sin problemas... No puede venir el error por otro sitio ?
Re: DOS ERROR 161 que hacer en windows de 64 bits?
Posted: Fri May 10, 2019 7:23 pm
by karinha
Maestro el problema ocurre cuando el cliente instala el programa en C: \ del servidor de archivos.
Si se instala en una carpeta, todo funciona perfecto.
Re: DOS ERROR 161 que hacer en windows de 64 bits?
Posted: Fri May 10, 2019 7:25 pm
by Antonio Linares
Prueba a hacer:
MsgInfo( GetCurDir() )
En 32 y 64 bits
Re: DOS ERROR 161 que hacer en windows de 64 bits?
Posted: Fri May 10, 2019 7:41 pm
by karinha
En windows 7 32 bits, retorna: C:\
no tengo windows de 64 bits ó windows server 2008 ahora. Después hago testes.
Gracias saludos.
Re: DOS ERROR 161 que hacer en windows de 64 bits?
Posted: Mon May 13, 2019 10:28 am
by cmsoft
Hola Jao, probaste ejecutar el .exe como Administrador? (Boton derecho, ejecutar como administrador). Tal vez sea un tema de permisos.. En Windows 10 me pasa mucho eso en entornos de red.
Saludos
Re: DOS ERROR 161 que hacer en windows de 64 bits?
Posted: Mon May 13, 2019 12:34 pm
by karinha
Como ADM funciona.
Code: Select all
#include "FiveWin.ch"
static oWnd
//----------------------------------------------------------------//
FUNCTION Main()
local oBar
DEFINE WINDOW oWnd TITLE "COPY TO C:\"
DEFINE BUTTONBAR oBar _3D OF oWnd
DEFINE BUTTON OF oBar ACTION( ACTUALIZAR_BD() )
SET MESSAGE OF oWnd TO "COPY TO C:\" NOINSET CLOCK DATE KEYBOARD
ACTIVATE WINDOW oWnd
RETURN NIL
FUNCTION ACTUALIZAR_BD() // COMO ADM. FUNCIONA.
LOCAL cDest := "C:\COPIA.DBF"
USE CUSTOMER EXCLUSIVE NEW
COPY TO (cDest)
IF FILE( "C:\COPIA.DBF" )
? "EXITO"
ELSE
? "NO FUNCIONA SOLO COMO ADM."
ENDIF
USE
RETURN NIL
Saludos.