FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour DOS ERROR 161 que hacer en windows de 64 bits?
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
DOS ERROR 161 que hacer en windows de 64 bits?
Posted: Fri May 10, 2019 03:26 PM
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.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: DOS ERROR 161 que hacer en windows de 64 bits?
Posted: Fri May 10, 2019 06:01 PM
Joao,

https://docs.microsoft.com/en-us/windows/desktop/debug/system-error-codes--0-499-

ERROR_BAD_PATHNAME

161 (0xA1)

The specified path is invalid.
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: DOS ERROR 161 que hacer en windows de 64 bits?
Posted: Fri May 10, 2019 06:17 PM
Master Antonio:

Code (fw): Select all Collapse
   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

??
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: DOS ERROR 161 que hacer en windows de 64 bits?
Posted: Fri May 10, 2019 06:56 PM
Joao,

No hay diferencias en el código fuente de esa función para 32 ó 64 bits:
Code (fw): Select all Collapse
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 ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: DOS ERROR 161 que hacer en windows de 64 bits?
Posted: Fri May 10, 2019 07:23 PM

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.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: DOS ERROR 161 que hacer en windows de 64 bits?
Posted: Fri May 10, 2019 07:25 PM

Prueba a hacer:

MsgInfo( GetCurDir() )

En 32 y 64 bits

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: DOS ERROR 161 que hacer en windows de 64 bits?
Posted: Fri May 10, 2019 07:41 PM

En windows 7 32 bits, retorna: C:\

no tengo windows de 64 bits ó windows server 2008 ahora. Después hago testes.

Gracias saludos.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: DOS ERROR 161 que hacer en windows de 64 bits?
Posted: Mon May 13, 2019 10:28 AM

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

Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: DOS ERROR 161 que hacer en windows de 64 bits?
Posted: Mon May 13, 2019 12:34 PM
Como ADM funciona.

Code (fw): Select all Collapse
#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.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341

Continue the discussion