Como puedo compilar una classe?
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Como puedo compilar una classe?
La librería que te falta es xhb.lib de Harbour, pero lo que me sorprende es que estas usando xHarbour, si ?
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Como puedo compilar una classe?
Tienes #include "hbcompat.ch" dentro de source/classes/xbrowse.prg ?
Re: Como puedo compilar una classe?
Compilo con xHarbour y hbcompat.ch está en las cabeceras de xbrowse.
Fivewin 12.04 + xHarbour 1.2.1 + BCC582
Nada como Fivewin, odio visual basic, visual studio y todas las porquerías visual.
Nada como Fivewin, odio visual basic, visual studio y todas las porquerías visual.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Como puedo compilar una classe?
Añade esta función a tu PRG principal y debería desaparecer una de esas referencias sin resolver:
function hb_HKeyAt( x, y )
return HGetKeyAt( x, y )
function hb_HKeyAt( x, y )
return HGetKeyAt( x, y )
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Como puedo compilar una classe?
Tambien esta:
function HB_HVALUEAT( x, y, z )
return HGetValueAt( x, y, z )
function HB_HVALUEAT( x, y, z )
return HGetValueAt( x, y, z )
Re: Como puedo compilar una classe?
Antonio, gracias por la respuesta, ha mejorado el tema, ahora son sólo dos funciones que no sé de dónde engancharlas.
Gracias.
Code: Select all
Borland C++ 5.82 for Win32 Copyright (c) 1993, 2005 Borland
rmail.c:
Turbo Incremental Link 5.69 Copyright (c) 1997-2005 Borland
Error: Unresolved external '_png_set_longjmp_fn' referenced from C:\FWH\LIB\FIVEHC.LIB|FWPNG
Error: Unresolved external '_HB_FUN_HB_HCASEMATCH' referenced from C:\FWH\LIB\FIVEHX.LIB|xbrowse
* Linking errors *
Fivewin 12.04 + xHarbour 1.2.1 + BCC582
Nada como Fivewin, odio visual basic, visual studio y todas las porquerías visual.
Nada como Fivewin, odio visual basic, visual studio y todas las porquerías visual.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Como puedo compilar una classe?
Añade esta tambien:
function HCASEMATCH( x, y )
return HGetCaseMatch( x, y )
function HCASEMATCH( x, y )
return HGetCaseMatch( x, y )
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Como puedo compilar una classe?
Estas enlazando png.lib de xHarbour ?
me da la sensación de que tienes mezcladas librerias antiguas y nuevas...
me da la sensación de que tienes mezcladas librerias antiguas y nuevas...
Re: Como puedo compilar una classe?
He agregado las 3 funciones que me has descrito en el código de xBrowse
y aún así, e incluyendo la xhb.lib el resultado es el mismo anterior. Sigue reclamando la función _HB_FUN_HB_HCASEMATCH
Code: Select all
//----------------------------------------------------------------------------//
function hb_HKeyAt( x, y )
return HGetKeyAt( x, y )
//----------------------------------------------------------------------------//
function HB_HVALUEAT( x, y, z )
return HGetValueAt( x, y, z )
//----------------------------------------------------------------------------//
function HCASEMATCH( x, y )
return HGetCaseMatch( x, y )
//----------------------------------------------------------------------------//
Fivewin 12.04 + xHarbour 1.2.1 + BCC582
Nada como Fivewin, odio visual basic, visual studio y todas las porquerías visual.
Nada como Fivewin, odio visual basic, visual studio y todas las porquerías visual.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Como puedo compilar una classe?
Gracias Antonio, al final lo logré, un poco duro de cabeza el alumno... Muchas gracias.
Pregunta: Tengo FWH 12.04, y agregué una modificación publicada para cargar png en los btnbmp, sólo me funciona en botones y no en una btnbar ¿Qué me falta?
El código cambiado es el siguiente:
De Antemano, Gracias.
Pregunta: Tengo FWH 12.04, y agregué una modificación publicada para cargar png en los btnbmp, sólo me funciona en botones y no en una btnbar ¿Qué me falta?
El código cambiado es el siguiente:
Code: Select all
/*METHOD LoadBitmaps( cResName1, cResName2, cBmpFile1, cBmpFile2,;
cResName3, cBmpFile3, cResName4, cBmpFile4 ) CLASS TBtnBmp
local aBmpPal
if ! Empty( cResName1 )
aBmpPal = PalBmpLoad( cResName1 )
::hBitmap1 = aBmpPal[ 1 ]
::hPalette1 = aBmpPal[ 2 ]
::HasAlpha( ::hBitmap1, BTN_UP )
endif
if ! Empty( cResName2 )
aBmpPal = PalBmpLoad( cResName2 )
::hBitmap2 = aBmpPal[ 1 ]
::hPalette2 = aBmpPal[ 2 ]
::HasAlpha( ::hBitmap2, BTN_DOWN )
endif
if ! Empty( cResName3 )
aBmpPal = PalBmpLoad( cResName3 )
::hBitmap3 = aBmpPal[ 1 ]
::hPalette3 = aBmpPal[ 2 ]
::HasAlpha( ::hBitmap3, BTN_DISABLE )
endif
if ! Empty( cResName4 )
aBmpPal = PalBmpLoad( cResName4 )
::hBitmap4 = aBmpPal[ 1 ]
::hPalette4 = aBmpPal[ 2 ]
::HasAlpha( ::hBitmap4, BTN_OVERMOUSE )
endif
if ! Empty( cBmpFile1 )
if File( cBmpFile1 )
::cBmpFile1 = cBmpFile1
aBmpPal = PalBmpRead( ::GetDC(), cBmpFile1 )
::hBitmap1 = aBmpPal[ 1 ]
::hPalette1 = aBmpPal[ 2 ]
::HasAlpha( ::hBitmap1, BTN_UP )
::ReleaseDC()
endif
endif
if ! Empty( cBmpFile2 )
if File( cBmpFile2 )
::cBmpFile2 = cBmpFile2
aBmpPal = PalBmpRead( ::GetDC(), cBmpFile2 )
::hBitmap2 = aBmpPal[ 1 ]
::hPalette2 = aBmpPal[ 2 ]
::HasAlpha( ::hBitmap2, BTN_DOWN )
::ReleaseDC()
endif
endif
if ! Empty( cBmpFile3 )
if File( cBmpFile3 )
::cBmpFile3 = cBmpFile3
aBmpPal = PalBmpRead( ::GetDC(), cBmpFile3 )
::hBitmap3 = aBmpPal[ 1 ]
::hPalette3 = aBmpPal[ 2 ]
::HasAlpha( ::hBitmap3, BTN_DISABLE )
::ReleaseDC()
endif
endif
if ! Empty( cBmpFile4 )
if File( cBmpFile4 )
::cBmpFile4 = cBmpFile4
aBmpPal = PalBmpRead( ::GetDC(), cBmpFile4 )
::hBitmap4 = aBmpPal[ 1 ]
::hPalette4 = aBmpPal[ 2 ]
::HasAlpha( ::hBitmap4, BTN_OVERMOUSE )
::ReleaseDC()
endif
endif
if ! Empty( ::hBitmap1 )
PalBmpNew( ::hWnd, ::hBitmap1, ::hPalette1 )
endif
if ! Empty( ::hBitmap2 )
PalBmpNew( ::hWnd, ::hBitmap2, ::hPalette2 )
endif
if ! Empty( ::hBitmap3 )
PalBmpNew( ::hWnd, ::hBitmap3, ::hPalette3 )
endif
if ! Empty( ::hBitmap4 )
PalBmpNew( ::hWnd, ::hBitmap4, ::hPalette4 )
endif
return nil*/
METHOD LoadBitmaps( cResName1, cResName2, cBmpFile1, cBmpFile2,;
cResName3, cBmpFile3, cResName4, cBmpFile4 ) CLASS TBtnBmp
local aBmpPal
*MsgAlert("Estoy en ::LoadBitmaps()")
if ! Empty( cResName1 )
IF FindResource( GetResources(), cResName1 , 10 ) != 0
::hBitmap1 = FILoadFromMemory( cResToStr( cResName1, 10 ), 10 )
::hPalette1 = 0
ELSE
aBmpPal = PalBmpLoad( cResName1 )
::hBitmap1 = aBmpPal[ 1 ]
::hPalette1 = aBmpPal[ 2 ]
endif
::HasAlpha( ::hBitmap1, BTN_UP )
endif
if ! Empty( cResName2 )
IF FindResource( GetResources(), cResName2 , 10 ) != 0
::hBitmap2 = FILoadFromMemory( cResToStr( cResName2, 10 ), 10 )
::hPalette2 = 0
ELSE
aBmpPal = PalBmpLoad( cResName2 )
::hBitmap2 = aBmpPal[ 1 ]
::hPalette2 = aBmpPal[ 2 ]
endif
::HasAlpha( ::hBitmap2, BTN_DOWN )
endif
if ! Empty( cResName3 )
IF FindResource( GetResources(), cResName3 , 10 ) != 0
::hBitmap3 = FILoadFromMemory( cResToStr( cResName3, 10 ), 10 )
::hPalette3 = 0
ELSE
aBmpPal = PalBmpLoad( cResName3 )
::hBitmap3 = aBmpPal[ 1 ]
::hPalette3 = aBmpPal[ 2 ]
endif
::HasAlpha( ::hBitmap3, BTN_DISABLE )
endif
if ! Empty( cResName4 )
IF FindResource( GetResources(), cResName4 , 10 ) != 0
::hBitmap4 = FILoadFromMemory( cResToStr( cResName4, 10 ), 10 )
::hPalette4 = 0
ELSE
aBmpPal = PalBmpLoad( cResName4 )
::hBitmap4 = aBmpPal[ 1 ]
::hPalette4 = aBmpPal[ 2 ]
endif
::HasAlpha( ::hBitmap4, BTN_OVERMOUSE )
endif
if ! Empty( cBmpFile1 )
if File( cBmpFile1 )
::cBmpFile1 = cBmpFile1
IF upper(right(cBmpFile1,3))="PNG"
::hBitmap1 = FWOpenPngFile( cBmpFile1 )
::hPalette1 = 0
else
aBmpPal = PalBmpRead( ::GetDC(), cBmpFile1 )
::hBitmap1 = aBmpPal[ 1 ]
::hPalette1 = aBmpPal[ 2 ]
::ReleaseDC()
endif
::HasAlpha( ::hBitmap1, BTN_UP )
endif
endif
if ! Empty( cBmpFile2 )
if File( cBmpFile2 )
::cBmpFile2 = cBmpFile2
IF upper(right(cBmpFile2,3))="PNG"
::hBitmap2 = FWOpenPngFile( cBmpFile2 )
::hPalette2 = 0
else
aBmpPal = PalBmpRead( ::GetDC(), cBmpFile2 )
::hBitmap2 = aBmpPal[ 1 ]
::hPalette2 = aBmpPal[ 2 ]
::ReleaseDC()
endif
::HasAlpha( ::hBitmap2, BTN_DOWN )
endif
endif
if ! Empty( cBmpFile3 )
if File( cBmpFile3 )
::cBmpFile3 = cBmpFile3
IF upper(right(cBmpFile3,3))="PNG"
::hBitmap3 = FWOpenPngFile( cBmpFile3 )
::hPalette3 = 0
else
aBmpPal = PalBmpRead( ::GetDC(), cBmpFile3 )
::hBitmap3 = aBmpPal[ 1 ]
::hPalette3 = aBmpPal[ 2 ]
::ReleaseDC()
endif
::HasAlpha( ::hBitmap3, BTN_DISABLE )
endif
endif
if ! Empty( cBmpFile4 )
if File( cBmpFile4 )
::cBmpFile4 = cBmpFile4
IF upper(right(cBmpFile4,3))="PNG"
::hBitmap4 = FWOpenPngFile( cBmpFile4 )
::hPalette4 = 0
else
aBmpPal = PalBmpRead( ::GetDC(), cBmpFile4 )
::hBitmap4 = aBmpPal[ 1 ]
::hPalette4 = aBmpPal[ 2 ]
::ReleaseDC()
endif
::HasAlpha( ::hBitmap4, BTN_OVERMOUSE )
endif
endif
if ! Empty( ::hBitmap1 )
PalBmpNew( ::hWnd, ::hBitmap1, ::hPalette1 )
endif
if ! Empty( ::hBitmap2 )
PalBmpNew( ::hWnd, ::hBitmap2, ::hPalette2 )
endif
if ! Empty( ::hBitmap3 )
PalBmpNew( ::hWnd, ::hBitmap3, ::hPalette3 )
endif
if ! Empty( ::hBitmap4 )
PalBmpNew( ::hWnd, ::hBitmap4, ::hPalette4 )
endif
return nil
Fivewin 12.04 + xHarbour 1.2.1 + BCC582
Nada como Fivewin, odio visual basic, visual studio y todas las porquerías visual.
Nada como Fivewin, odio visual basic, visual studio y todas las porquerías visual.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Como puedo compilar una classe?
Estas cargando los PNGs desde ficheros ó desde recursos ?
Re: Como puedo compilar una classe?
Desde Ficheros
Fivewin 12.04 + xHarbour 1.2.1 + BCC582
Nada como Fivewin, odio visual basic, visual studio y todas las porquerías visual.
Nada como Fivewin, odio visual basic, visual studio y todas las porquerías visual.