Como dice Antonio, la librería que generes para el wbrowse de Hernan la tienes que poner antes.
Pero creo que este problema te lo está dando por usar el VSC2013 y con ese cambio no va a ser bastante, de modo que para evitar ese efecto tienes que tocar el código de la clase de Hernan para que no use los mismos nombres de funciones que trae el propio FWH y otros detalles para evitar otro par de errores que te va a dar.
La solución que he encontrado es la siguiente:
1º.- En el fichero WBRWLINE.C
cambia el nombre de las últimas dos funciones, puedes usar el código que te copio a continuación:
- Code: Select all Expand view RUN
//----------------------------------------------------------------------------//
// NOMBRE MODIFICADO PARA NO REPETIR CON EL DE FW: DE FWDISPBEGIN PASA A FWDISPBEGIN_HER
HB_FUNC( FWDISPBEGIN_HER )// ( hWnd, hDC )
{
HWND hWnd = ( HWND ) hb_parnl( 1 );
HDC hDC = ( HDC ) hb_parnl( 2 );
HDC hDC2 ;
HBITMAP hBmp, hBmpOld ;
RECT rct;
GetClientRect( hWnd, &rct );
hDC2 = CreateCompatibleDC( hDC );
hBmp = CreateCompatibleBitmap( hDC, rct.right - rct.left, rct.bottom - rct.top );
hBmpOld = SelectObject( hDC2, hBmp );
BitBlt( hDC2, 0, 0, rct.right, rct.bottom, hDC, 0, 0, SRCCOPY );
hb_reta( 5 );
hb_storvnl( (LONG) hWnd , -1, 1 );
hb_storvnl( (LONG) hDC , -1, 2 );
hb_storvnl( (LONG) hDC2 , -1, 3 );
hb_storvnl( (LONG) hBmp , -1, 4 );
hb_storvnl( (LONG) hBmpOld, -1, 5 );
return;
}
//----------------------------------------------------------------------------//
// NOMBRE MODIFICADO PARA NO REPETIR CON EL DE FW: DE FWDISPEND PASA A FWDISPEND_HER
HB_FUNC( FWDISPEND_HER )// { hWnd, hDC, hDC2, hBmp, hBmpOld }
{
RECT rct;
GetClientRect( (HWND) hb_parvnl( 1, 1 ), &rct );
BitBlt( (HDC) hb_parvnl( 1, 2 ), 0, 0, rct.right - rct.left, rct.bottom - rct.top, (HDC) hb_parvnl( 1, 3 ), 0, 0, SRCCOPY );
SelectObject( (HDC) hb_parvnl( 1, 3 ), (HBITMAP) hb_parvnl( 1, 5 ) );
DeleteObject( (HBITMAP) hb_parvnl( 1, 4 ) );
DeleteObject( (HBITMAP) hb_parvnl( 1, 5 ) );
DeleteDC( (HDC) hb_parvnl( 1, 3 ) );
hb_retnl( (LONG) hb_parvnl( 1, 2 ) ) ;
return ;
}
2.- Cambia en WBROWSE.PRG las llamadas a las funciones FWDISPBEGIN por FWDISPBEGIN_HER y las llamadas a FWDISPEND por FWDISPEND_HER:
3.- Cambia el código que tengas como ::oFont = oFont y se añade Self:SetFont(oFont) delante de return en los métodos New y Redefine de la clase.
No me deja copiarte el código entero del WBROWSE.PRG porque excede de los 6000 caracteres. Si alguien me explica como subir los archivos lo copio entero en el foro.
4.- Reconstruye la librería con el nuevo compilador que vayas a usar.
Si lo necesitas puedo poner el .bat que uso para recosntruir la librería para usarla con VSC2013 incluso para 64 bits.