Antonio, he enlazado la librería que me comentas y ya no me marca error al compilar , pero (ojala nu hubiera un pero) ahora me marca un erro de que mi PRG fue creado con el PCODE versión 7 (Algo antigua jejeje) y que xHarbour espera la versión 10.
Me pusé a buscar en el foro y encontré esto:
- Code: Select all Expand view
- by Antonio Linares » 08 Sep 2009, 10:56
This is a better hack as it processes internal errors and just avoid the pcode version error. It is the same code used in xHarbour with a little modification:
#pragma BEGINDUMP
#include "hbapifs.h"
#include "hbapilng.h"
#include <windows.h>
void hb_errInternal( ULONG ulIntCode, const char * szText, const char * szPar1, const char * szPar2 )
{
char title[64], buffer[ 1024 ];
FILE *fpError;
BOOL bLang;
HB_TRACE(HB_TR_DEBUG, ("hb_errInternal(%lu, %s, %s, %s)", ulIntCode, szText, szPar1, szPar2));
if( strncmp( szText, "Module:", 7 ) == 0 ) // pcode version
return;
bLang = ( hb_langID() != NULL );
if( szText )
{
fpError = hb_fopen( "error.log", "a" );
if( fpError )
{
fclose( fpError );
TraceLog( "error.log", szText, szPar1, szPar2 );
}
}
hb_conOutErr( hb_conNewLine(), 0 );
hb_snprintf( title, sizeof( title ), bLang ?
( char * ) hb_langDGetItem( HB_LANG_ITEM_BASE_ERRINTR ) :
"Unrecoverable error %lu: ", ulIntCode );
hb_conOutErr( title, 0 );
if( szText != NULL )
{
hb_snprintf( buffer, sizeof( buffer ), szText, szPar1, szPar2 );
}
else if (bLang)
{
hb_snprintf( buffer, sizeof( buffer ), ( char * ) hb_langDGetItem( HB_LANG_ITEM_BASE_ERRINTR + ulIntCode - 9000 ), szPar1, szPar2 );
}
hb_conOutErr( buffer, 0 );
hb_conOutErr( hb_conNewLine(), 0 );
hb_stackDispCall();
#ifdef HB_OS_WIN_32
MessageBox( NULL, buffer, title, MB_ICONSTOP );
#endif
/* release console settings */
hb_conRelease();
if( hb_cmdargCheck( "ERRGPF" ) )
{
int *pGPF = NULL;
*pGPF = 0;
*(--pGPF) = 0;
}
#if defined( HB_THREAD_SUPPORT ) && defined( HB_OS_OS2 )
/* Post all threads waiting on an indefinite wait */
DosPostEventSem(hb_hevWakeUpAll);
/* Let's give them some time to wake up */
DosSleep(5000);
/* Stop VM, I cannot call exit() here or I end up with a zombie process */
hb_vmQuit();
#endif
exit( EXIT_FAILURE );
}
#pragma ENDDUMP
This is the only change in it:
Code: Select all Expand view
if( strncmp( szText, "Module:", 7 ) == 0 ) // pcode version
return;
regards, saludos
La pregunta es ¿Donde debo poner este código? Dentro de mi prg principal?. Perdón por la ignorancia pero prefiero preguntar antes de regarla mas.
Saludos y gracias nuevamente