Hace tiempo publicastes la rutina de FUNSWAP, yo la quiero utilizar para reemplazar la funcion DATE()
FunSwap("DATE","MYDATE")
Pero solo me funciona en el PRG principal, yo tengo puesta la llamada dentro de la funcion Main(), esperando que reemplazara DATE() en TODO EL SISTEMA, pero no ocurre asi.
La funcion de reemplazo tambien esta dentro de ese prg, y no es static.
Function MYDATE()
Return CTOD("01/01/2013")
Me falto algo.
El codigo es el mismo que publicastes
//------------------------------------------------------------
#pragma BEGINDUMP
#include <windows.h>
#include <hbapi.h>
HB_FUNC( NEXTMEM ) // --> nHardwareMemory
{
聽 聽MEMORYSTATUSEX mst;
聽 聽memset( &mst, 0, sizeof( MEMORYSTATUSEX ) );
聽 聽mst.dwLength = sizeof( MEMORYSTATUSEX );
聽 聽GlobalMemoryStatusEx( &mst );
聽 聽hb_retnll( mst.ullAvailPhys );
}
HB_FUNC( CURDRIVE )
{
聽 聽char szCurDrive[ 1 ];
聽 聽const char * szDrive;
聽 聽szCurDrive[ 0 ] = ( ( char ) hb_fsCurDrv() ) + 'A';
聽 聽hb_retclen( szCurDrive, 1 );
}
typedef void ( * PFUNC ) ( void );
HB_FUNC( FUNSWAP )
{
聽 聽PHB_SYMB symFirst = hb_dynsymSymbol( hb_dynsymFindName( hb_parc( 1 ) ) );
聽 聽PHB_SYMB symLast 聽= hb_dynsymSymbol( hb_dynsymFindName( hb_parc( 2 ) ) );
聽 聽PHB_FUNC pFirst 聽 = symFirst->value.pFunPtr;
聽 聽symFirst->value.pFunPtr = symLast->value.pFunPtr;
聽 聽hb_retnl( ( LONG ) pFirst );
}
HB_FUNC( EXECPTR )
{
聽 聽PFUNC p = ( PFUNC ) hb_parnl( hb_pcount() );
聽 聽p();
}
#pragma ENDDUMPAproveche de agregar 2 funciones mas que utilizo, NEXTMEM y CURDRIVE
Cualquier Ayuda sera bienvenida
Desde Chile
Adolfo
http://www.xdata.cl - Desarrollo Inteligente
----------
Asus TUF F15, 32GB Ram, 2 * 1 TB NVME M.2, GTX 1650