Faltan librerias y una fucnion

Post Reply
josei
Posts: 18
Joined: Sun Jan 01, 2006 4:24 pm

Faltan librerias y una fucnion

Post by josei »

Antonio

Me gusta mucha ver como se pasa de un mensaje que mem impide trabajar con FW, me falta la liberria dbfdbt.lib.. es que ua no se da soporte a dbf???.. y la funcion treedraw.c esta mal creada

Necesito una respuesta urgente

Jose Ignacio Jimenez alarcon
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Jose Ignacio,

La librería DBFDBT.lib ya no se usa. Ahora Harbour/xHarbour usan estas:

echo %hdir%\lib\b32\rdd.lib + >> b32.bc
echo %hdir%\lib\b32\dbfntx.lib + >> b32.bc
echo %hdir%\lib\b32\dbfcdx.lib + >> b32.bc
echo %hdir%\lib\b32\dbffpt.lib + >> b32.bc
echo %hdir%\lib\b32\hbsix.lib + >> b32.bc

Que problema hay con treedraw.c ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
josei
Posts: 18
Joined: Sun Jan 01, 2006 4:24 pm

Post by josei »

Hola

Antonio antes de nada gracias por contestar, es muy importante porque aun no he conseguido compilar la aplicacion, si no es debido a esa libreria me esta saliendo un error en la clase tdbatabase


Error description: Error BASE/44 Assigned value is wrong class: TDATABASE:BBOF
Args:
[ 1] = B {|| ... }

Stack Calls
===========
Called from: => TDATABASE:_BBOF(0)
Called from: => TDATABASE:NEW(0)
Called from: => TDICCIO:ACTIVATE(176)
Called from: => TAPPLICATION:NEW(231)
Called from: qc4rad32.prg => MAIN(43)


Lo muestra despues de abrir la base de datos que es una dbf con la orden

USE (fichero) ALIAS &alias VIA "DBFNTX"

y hacer

DATABASE ::oApplication


El problema con treedraw es el siguiente

Investigando un poco veo que ha cambiado la funcion treedraw de fivewin, la que esta en functions ojo

HB_FUNC( LBSETDATA ) // ( hwnd, index, data )

HB_FUNC( LBGETDATA ) // ( hwnd, index, lDelete )

cuando en a version 2.5 estaba puesta en el mismo fichero

HARBOUR HB_FUN_LBSETDATA() // ( hwnd, index, data )
HARBOUR HB_FUN_LBGETDATA() // ( hwnd, index, lDelete )

porque ha cambiado?... como puedo acceder a esas funciones?

Gracias
Jose Ignacio Jimenez
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Jose Ignacio,

Modifica esta línea en la clase TDataBase y quita el AS ...

DATA bBoF, bEoF, bNetError // AS ...
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Jose Ignacio,

LBSETDATA() y LBGETDATA() siguen estando en source\function\treedraw.c

Por favor revísalo
regards, saludos

Antonio Linares
www.fivetechsoft.com
josei
Posts: 18
Joined: Sun Jan 01, 2006 4:24 pm

Post by josei »

Hola

Gracias de nuevo por contestar, lo hare aunque habia conseguido pasar ese error quitando los bloques... algo que nunca me gusta hacer... lo que mas me urge es la funcion treedraw... de verdad, la aplicacion hace un uso intensivo de esa funcion... tanto que modificarlapara que use los trees de windows me resulta practicamente imposible.... es mas sera un motivo para no actualizar a esta o versiones similares ... lo siento..

Por otro lado los btnbmp siguen dando la lata cuando en el codigo action se pone un elemento de una clase... tal y como ::(lo que sea) he tenido que modificar fivewin.ch para que en lugar de |Self| uaction.... ponga |This| uaction... asi funciona perfectamente

Atentamente
Jose Ignacio Jimenez Alarcon
josei
Posts: 18
Joined: Sun Jan 01, 2006 4:24 pm

Post by josei »

Antonio

Perdona... no habia visto el post...volvere a mirarlo mañana, pero te prometo que estan escritas tal y como lo digo en el post... es mas es la primera vez desde que uso harbour que las veo escritas asi... mañana lo compruebo.. por cierto en que libreria esta treedraw introdudica?

Gracias de antemano
Jose
josei
Posts: 18
Joined: Sun Jan 01, 2006 4:24 pm

Post by josei »

Antonio

He vuelto a mirar el fichero c

HB_FUNC( LBSETDATA ) // ( hwnd, index, data )
{
_retni( SendMessage( (HWND) _parnl( 1 ), LB_SETITEMDATA, _parni( 2 ),
(LONG) _GetGrip( _param( 3, OBJECT ) ) ) );
}

HB_FUNC( LBGETDATA ) // ( hwnd, index, lDelete )
{
PCLIPVAR p = (PCLIPVAR) SendMessage( (HWND) _parnl( 1 ), LB_GETITEMDATA, _parni( 2 ), 0 );

#ifndef __FLAT__
_bcopy( (LPBYTE) _eval, (LPBYTE) p, sizeof(CLIPVAR) );
#else
#endif

if( (BOOL) _parl( 3 ) )
_DropGrip( p );

}


estas funciones no las coge mi programa asi definidas... puedes enviarme un fichero que funcione... llevo dos dias sin avanzar lo mas minimo

Jose Ignacio jimenez alarcon
josei
Posts: 18
Joined: Sun Jan 01, 2006 4:24 pm

Post by josei »

Nota :

Si intento compilarla me dice que faltan las funciones __setgrip y __dropgrip


Atentamente
Jose Ignacio Jimenez Alarcon
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Jose Ignacio,

#include <hbapiitm.h>

y cambia _GetGrip() por hb_gcGripGet() y _DropGrip() por hb_gcGripDrop()
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply