FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Compilando con Harbour II (SOLUCIONADO)
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Compilando con Harbour II (SOLUCIONADO)
Posted: Wed Nov 12, 2014 11:36 AM
Otros problemas que tengo al compilar
1) En mis app incluyo un fuente cedido por Antonio, filever
Code (fw): Select all Collapse
#include "FiveWin.ch"

//----------------------------------------------------------------------------//

#pragma BEGINDUMP

#include <windows.h>
#include <hbapi.h>

HB_FUNC( GETFILEVERSIONINFO )
{
聽 聽char * szFile 聽= hb_parc( 1 );
聽 聽UINT uAction 聽 = ISNUM( 2 ) ? hb_parni( 2 ) : 1;
聽 聽DWORD dwHandle = 0;
聽 聽DWORD dwSize 聽 = GetFileVersionInfoSize( szFile, &dwHandle );
聽 聽char * szOut 聽 = NULL;
聽 聽BOOL 聽bOk 聽 聽 聽= FALSE;

聽 聽if( dwSize )
聽 聽{
聽 聽 聽 char * szBlock = ( char * ) hb_xgrab( 255 );
聽 聽 聽 char * szSubBlock = ( char * ) hb_xgrab( 255 );
聽 聽 聽 HGLOBAL hMem = GlobalAlloc( GMEM_MOVEABLE, dwSize );
聽 聽 聽 VS_FIXEDFILEINFO * vsInfo;
聽 聽 聽 UINT nLen = 0;

聽 聽 聽 if( hMem )
聽 聽 聽 {
聽 聽 聽 聽 聽LPVOID pMem = GlobalLock( hMem );

聽 聽 聽 聽 聽if( pMem && GetFileVersionInfo( szFile, dwHandle, dwSize, pMem ) )
聽 聽 聽 聽 聽{
聽 聽 聽 聽 聽 聽 if( VerQueryValue( pMem, "\\VarFileInfo\\Translation", ( LPVOID * ) &vsInfo, &nLen ) )
聽 聽 聽 聽 聽 聽 {
聽 聽 聽 聽 聽 聽 聽 聽*( LPDWORD ) vsInfo = MAKELONG( HIWORD( *( LPDWORD ) vsInfo ), LOWORD( *( LPDWORD ) vsInfo ) );

聽 聽 聽 聽 聽 聽 聽 聽sprintf( szBlock, "\\StringFileInfo\\%08lx\\", *( LPDWORD )( vsInfo ) );

聽 聽 聽 聽 聽 聽 聽 聽switch( uAction )
聽 聽 聽 聽 聽 聽 聽 聽{
聽 聽 聽 聽 聽 聽 聽 聽 聽 case 1:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "Author" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 2:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "CompanyName" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 3:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "FileDescription" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 4:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "FileVersion" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 5:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "InternalName" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 6:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "LegalCopyright" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 7:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "LegalTrademarks" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 8:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "OriginalFilename" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 9:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "PrivateBuild" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 10:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "ProductName" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 11:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "ProductVersion" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 12:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "AppBuild" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;
聽 聽 聽 聽 聽 聽 聽 聽}

聽 聽 聽 聽 聽 聽 聽 聽if( VerQueryValue( pMem, szSubBlock, ( LPVOID * ) &szOut, &nLen ) )
聽 聽 聽 聽 聽 聽 聽 聽 聽 bOk = TRUE;

聽 聽 聽 聽 聽 聽 聽 聽hb_xfree( szBlock );
聽 聽 聽 聽 聽 聽 聽 聽hb_xfree( szSubBlock );
聽 聽 聽 聽 聽 聽 }

聽 聽 聽 聽 聽 聽 GlobalUnlock( hMem );
聽 聽 聽 聽 聽 聽 GlobalFree( hMem );
聽 聽 聽 聽 聽}
聽 聽 聽 }
聽 聽}

聽 聽if( bOk )
聽 聽 聽 hb_retc( szOut );
聽 聽else
聽 聽 聽 hb_retc( "" );
}

#pragma ENDDUMP

El error que devuelve es:
Error: Unresolved external '_ISNUM' referenced from D:\HARBOUR\3LIB\EMEGE32.LIB|FileVer

2) Otro (extra帽o error) se da con la funci贸n CURDRIVE()
Error: Unresolved external '_HB_FUN_CURDRIVE' referenced from D:\HARBOUR\3LIB\EMEGE32.LIB|SendMail

Ingreso a la ayuda de FW Function, y existe
Busco en la ayuda de http://www.fivetechsoft.com/harbour-docs/harbour-reference-guide.htm
Ah铆 no figura (xHarbour si la tiene)
Cual puede ser la raz贸n del error?

gracias
Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Compilando con Harbour II
Posted: Wed Nov 12, 2014 11:39 AM

Mario,

Cambia ISNUM por HB_ISNUM y CURDRIVE() por HB_CURDRIVE()

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: Compilando con Harbour (II)
Posted: Wed Nov 12, 2014 12:17 PM
MarioG wrote:Otros problemas que tengo al compilar
1) En mis app incluyo un fuente cedido por Antonio, filever
Code (fw): Select all Collapse
#include "FiveWin.ch"

//----------------------------------------------------------------------------//

#pragma BEGINDUMP

#include <windows.h>
#include <hbapi.h>

HB_FUNC( GETFILEVERSIONINFO )
{
聽 聽char * szFile 聽= hb_parc( 1 );
聽 聽UINT uAction 聽 = ISNUM( 2 ) ? hb_parni( 2 ) : 1;
聽 聽DWORD dwHandle = 0;
聽 聽DWORD dwSize 聽 = GetFileVersionInfoSize( szFile, &dwHandle );
聽 聽char * szOut 聽 = NULL;
聽 聽BOOL 聽bOk 聽 聽 聽= FALSE;

聽 聽if( dwSize )
聽 聽{
聽 聽 聽 char * szBlock = ( char * ) hb_xgrab( 255 );
聽 聽 聽 char * szSubBlock = ( char * ) hb_xgrab( 255 );
聽 聽 聽 HGLOBAL hMem = GlobalAlloc( GMEM_MOVEABLE, dwSize );
聽 聽 聽 VS_FIXEDFILEINFO * vsInfo;
聽 聽 聽 UINT nLen = 0;

聽 聽 聽 if( hMem )
聽 聽 聽 {
聽 聽 聽 聽 聽LPVOID pMem = GlobalLock( hMem );

聽 聽 聽 聽 聽if( pMem && GetFileVersionInfo( szFile, dwHandle, dwSize, pMem ) )
聽 聽 聽 聽 聽{
聽 聽 聽 聽 聽 聽 if( VerQueryValue( pMem, "\\VarFileInfo\\Translation", ( LPVOID * ) &vsInfo, &nLen ) )
聽 聽 聽 聽 聽 聽 {
聽 聽 聽 聽 聽 聽 聽 聽*( LPDWORD ) vsInfo = MAKELONG( HIWORD( *( LPDWORD ) vsInfo ), LOWORD( *( LPDWORD ) vsInfo ) );

聽 聽 聽 聽 聽 聽 聽 聽sprintf( szBlock, "\\StringFileInfo\\%08lx\\", *( LPDWORD )( vsInfo ) );

聽 聽 聽 聽 聽 聽 聽 聽switch( uAction )
聽 聽 聽 聽 聽 聽 聽 聽{
聽 聽 聽 聽 聽 聽 聽 聽 聽 case 1:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "Author" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 2:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "CompanyName" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 3:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "FileDescription" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 4:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "FileVersion" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 5:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "InternalName" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 6:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "LegalCopyright" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 7:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "LegalTrademarks" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 8:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "OriginalFilename" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 9:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "PrivateBuild" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 10:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "ProductName" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 11:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "ProductVersion" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 12:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "AppBuild" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;
聽 聽 聽 聽 聽 聽 聽 聽}

聽 聽 聽 聽 聽 聽 聽 聽if( VerQueryValue( pMem, szSubBlock, ( LPVOID * ) &szOut, &nLen ) )
聽 聽 聽 聽 聽 聽 聽 聽 聽 bOk = TRUE;

聽 聽 聽 聽 聽 聽 聽 聽hb_xfree( szBlock );
聽 聽 聽 聽 聽 聽 聽 聽hb_xfree( szSubBlock );
聽 聽 聽 聽 聽 聽 }

聽 聽 聽 聽 聽 聽 GlobalUnlock( hMem );
聽 聽 聽 聽 聽 聽 GlobalFree( hMem );
聽 聽 聽 聽 聽}
聽 聽 聽 }
聽 聽}

聽 聽if( bOk )
聽 聽 聽 hb_retc( szOut );
聽 聽else
聽 聽 聽 hb_retc( "" );
}

#pragma ENDDUMP

El error que devuelve es:
Error: Unresolved external '_ISNUM' referenced from D:\HARBOUR\3LIB\EMEGE32.LIB|FileVer

2) Otro (extra帽o error) se da con la funci贸n CURDRIVE()
Error: Unresolved external '_HB_FUN_CURDRIVE' referenced from D:\HARBOUR\3LIB\EMEGE32.LIB|SendMail

Ingreso a la ayuda de FW Function, y existe
Busco en la ayuda de http://www.fivetechsoft.com/harbour-docs/harbour-reference-guide.htm
Ah铆 no figura (xHarbour si la tiene)
Cual puede ser la raz贸n del error?

gracias
Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: Compilando con Harbour II
Posted: Wed Nov 12, 2014 12:18 PM

Gente;
una parte solucionada. Encontr茅 el post que indica que
ISNUM se debe reemplazar por HB_ISNUM
Me queda lo de CURDRIVE()... (en este post :-))
gracias

Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: Compilando con Harbour II (SOLUCIONADO)
Posted: Thu Nov 13, 2014 12:01 PM
MarioG wrote:Otros problemas que tengo al compilar
1) En mis app incluyo un fuente cedido por Antonio, filever
Code (fw): Select all Collapse
#include "FiveWin.ch"

//----------------------------------------------------------------------------//

#pragma BEGINDUMP

#include <windows.h>
#include <hbapi.h>

HB_FUNC( GETFILEVERSIONINFO )
{
聽 聽char * szFile 聽= hb_parc( 1 );
聽 聽UINT uAction 聽 = ISNUM( 2 ) ? hb_parni( 2 ) : 1;
聽 聽DWORD dwHandle = 0;
聽 聽DWORD dwSize 聽 = GetFileVersionInfoSize( szFile, &dwHandle );
聽 聽char * szOut 聽 = NULL;
聽 聽BOOL 聽bOk 聽 聽 聽= FALSE;

聽 聽if( dwSize )
聽 聽{
聽 聽 聽 char * szBlock = ( char * ) hb_xgrab( 255 );
聽 聽 聽 char * szSubBlock = ( char * ) hb_xgrab( 255 );
聽 聽 聽 HGLOBAL hMem = GlobalAlloc( GMEM_MOVEABLE, dwSize );
聽 聽 聽 VS_FIXEDFILEINFO * vsInfo;
聽 聽 聽 UINT nLen = 0;

聽 聽 聽 if( hMem )
聽 聽 聽 {
聽 聽 聽 聽 聽LPVOID pMem = GlobalLock( hMem );

聽 聽 聽 聽 聽if( pMem && GetFileVersionInfo( szFile, dwHandle, dwSize, pMem ) )
聽 聽 聽 聽 聽{
聽 聽 聽 聽 聽 聽 if( VerQueryValue( pMem, "\\VarFileInfo\\Translation", ( LPVOID * ) &vsInfo, &nLen ) )
聽 聽 聽 聽 聽 聽 {
聽 聽 聽 聽 聽 聽 聽 聽*( LPDWORD ) vsInfo = MAKELONG( HIWORD( *( LPDWORD ) vsInfo ), LOWORD( *( LPDWORD ) vsInfo ) );

聽 聽 聽 聽 聽 聽 聽 聽sprintf( szBlock, "\\StringFileInfo\\%08lx\\", *( LPDWORD )( vsInfo ) );

聽 聽 聽 聽 聽 聽 聽 聽switch( uAction )
聽 聽 聽 聽 聽 聽 聽 聽{
聽 聽 聽 聽 聽 聽 聽 聽 聽 case 1:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "Author" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 2:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "CompanyName" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 3:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "FileDescription" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 4:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "FileVersion" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 5:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "InternalName" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 6:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "LegalCopyright" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 7:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "LegalTrademarks" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 8:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "OriginalFilename" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 9:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "PrivateBuild" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 10:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "ProductName" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 11:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "ProductVersion" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;

聽 聽 聽 聽 聽 聽 聽 聽 聽 case 12:
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽sprintf( szSubBlock, "%s%s", szBlock, "AppBuild" );
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽break;
聽 聽 聽 聽 聽 聽 聽 聽}

聽 聽 聽 聽 聽 聽 聽 聽if( VerQueryValue( pMem, szSubBlock, ( LPVOID * ) &szOut, &nLen ) )
聽 聽 聽 聽 聽 聽 聽 聽 聽 bOk = TRUE;

聽 聽 聽 聽 聽 聽 聽 聽hb_xfree( szBlock );
聽 聽 聽 聽 聽 聽 聽 聽hb_xfree( szSubBlock );
聽 聽 聽 聽 聽 聽 }

聽 聽 聽 聽 聽 聽 GlobalUnlock( hMem );
聽 聽 聽 聽 聽 聽 GlobalFree( hMem );
聽 聽 聽 聽 聽}
聽 聽 聽 }
聽 聽}

聽 聽if( bOk )
聽 聽 聽 hb_retc( szOut );
聽 聽else
聽 聽 聽 hb_retc( "" );
}

#pragma ENDDUMP

El error que devuelve es:
Error: Unresolved external '_ISNUM' referenced from D:\HARBOUR\3LIB\EMEGE32.LIB|FileVer

2) Otro (extra帽o error) se da con la funci贸n CURDRIVE()
Error: Unresolved external '_HB_FUN_CURDRIVE' referenced from D:\HARBOUR\3LIB\EMEGE32.LIB|SendMail

Ingreso a la ayuda de FW Function, y existe
Busco en la ayuda de http://www.fivetechsoft.com/harbour-docs/harbour-reference-guide.htm
Ah铆 no figura (xHarbour si la tiene)
Cual puede ser la raz贸n del error?

gracias
Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina

Continue the discussion