Page 1 of 1
Faltan librerias y una fucnion
Posted: Wed Feb 21, 2007 8:31 am
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
Posted: Wed Feb 21, 2007 8:42 am
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 ?
Posted: Wed Feb 21, 2007 9:29 am
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
Posted: Wed Feb 21, 2007 5:26 pm
by Antonio Linares
Jose Ignacio,
Modifica esta línea en la clase TDataBase y quita el AS ...
DATA bBoF, bEoF, bNetError // AS ...
Posted: Wed Feb 21, 2007 5:28 pm
by Antonio Linares
Jose Ignacio,
LBSETDATA() y LBGETDATA() siguen estando en source\function\treedraw.c
Por favor revísalo
Posted: Wed Feb 21, 2007 5:32 pm
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
Posted: Wed Feb 21, 2007 5:42 pm
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
Posted: Thu Feb 22, 2007 8:48 am
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
Posted: Thu Feb 22, 2007 8:51 am
by josei
Nota :
Si intento compilarla me dice que faltan las funciones __setgrip y __dropgrip
Atentamente
Jose Ignacio Jimenez Alarcon
Posted: Thu Feb 22, 2007 5:42 pm
by Antonio Linares
Jose Ignacio,
#include <hbapiitm.h>
y cambia _GetGrip() por hb_gcGripGet() y _DropGrip() por hb_gcGripDrop()