Amigo: En principio te diría, seguramente Manu lo confirmará, que la versión de Eagle que utilizás, 1.33 si no me equivoco, no es compatible con MySQL 5
Amigos
Trato de usar mysql 5.0 pero me sale un error al usar los querys
me sale un GPF eb el fieldinfo
He echo todo segun l manual
Genere el libmysql.lib apartir del libmysql.dll que viene en la
carpeta bin del mysql server 5.0
puse ese lib en el mslib
baje la version completa y puse todo los *.ch en el msinc
pero me sale un gpf cuando usa la clase tmsquery en el metodo fieldinfo
Que puede ser
gracias por la ayuda
Manu: hago tal como lo indicás, pero lamentablemente no recupera lo guardado Te mando a tu privado el sample serialize.prg de xHarbour El sample que estoy usando está basado en PT05.prg Esta bueno el Serialize no :-)
Mario
Después de esto
oTb:CampoArr := Hb_Serialize( {1, { 0, 50, 99 } } )
me imagino que harás el ::insert() hago el ::Insert()
con lo cual luego podrás hacer el
oTb:Load()
Pero bueno, te explico como tienes que hacerlo:
oTb:CampoArr := oConnect:EscapeStr( Hb_Serialize( {1, { 0, 50, 99 } } ) )
Cada vez que leas algo que puede tener caracteres de escape deberías
de filtrarlo
con el método de la clase Connection ::EscapeStr( cStr ) // Lo guardo así
Si no te funciona así me lo dices y seguimos investigando ya que esto
de la serialización de arrays puede ser muy interesante
:-)
>
> Manu:
> Estoy queriendo guardar Array en campos BLob.
> Según lo que me asesoro tengo que usar la función HB_Serialize(),
> HB_Deserialize() de xHarbour.
> De manera que por ej. hago lo siguiente:
>
> Tb:CampoArr:= Hb_Serialize( {1, { 0, 50, 99 } } ) // donde
CampoArr
> es Blob
> luego consulto:
> oTb:Load()
> xString:= oTb:CampoArr
> aMiArr:= HB_Deserialize( @xString )
> ? Valtype( aMiArr ) // U
>
> No es posible implementarlo con Eagle1?
> Probé serialize.prg un sample que viene con xHarbour, aplicando valores
> a una variable y el resultado devuelve los valores esperados
>
> saludos
>
-- Ing. Mario González otros correo-e: mrgonzalez_arroba_arnet.com.ar (tambien MSN) mgonzalez_arroba_ing.unne.edu.ar
Mario
Después de esto
oTb:CampoArr := Hb_Serialize( {1, { 0, 50, 99 } } )
me imagino que harás el ::insert()
con lo cual luego podrás hacer el
oTb:Load()
Pero bueno, te explico como tienes que hacerlo:
oTb:CampoArr := oConnect:EscapeStr( Hb_Serialize( {1, { 0, 50, 99 } } ) )
Cada vez que leas algo que puede tener caracteres de escape deberías
de filtrarlo
con el método de la clase Connection ::EscapeStr( cStr )
Si no te funciona así me lo dices y seguimos investigando ya que esto
de la serialización de arrays puede ser muy interesante
:-)
--- En eagle1@yahoogroups.com, "Mario R. González"
<mario.r.gonzalez@...> escribió:
>
> Manu:
> Estoy queriendo guardar Array en campos BLob.
> Según lo que me asesoro tengo que usar la función HB_Serialize(),
> HB_Deserialize() de xHarbour.
> De manera que por ej. hago lo siguiente:
>
> Tb:CampoArr:= Hb_Serialize( {1, { 0, 50, 99 } } ) // donde
CampoArr
> es Blob
> luego consulto:
> oTb:Load()
> xString:= oTb:CampoArr
> aMiArr:= HB_Deserialize( @xString )
> ? Valtype( aMiArr ) // U
>
> No es posible implementarlo con Eagle1?
> Probé serialize.prg un sample que viene con xHarbour, aplicando valores
> a una variable y el resultado devuelve los valores esperados
>
> saludos
>
Mario en el menú ese pon esto:
oTb:Free(); oTb := nil
El método ::Free() libera la memoria de todas la variables que usa la
clase Table internamente pero no puede destruirse así misma desde el
propio objeto...
El único destructor posible es asignar nil al objeto. Con eso se
consigue marcar la memoria como no disponible y que el recolector de
basura libere la memoria totalmente en la siguiente pasada...
--- En eagle1@yahoogroups.com, "Mario R. González"
<mario.r.gonzalez@...> escribió:
>
> Manu:
> supongamos lo siguiente:
>
> static oTb
>
> proc Test
>
> if Empty( oTb )
> oTb:= TMyTable():New( oEConn:oDb, cTabla )
> oTb:Open()
> end
>
> ....
> consultas y otros porcesos
> ....
> en un menu hay una opcion de cierre donde hago: oTb:Free()
> Entonces luego, al volver, oTb ya no está empty
> La pregunta es: como consulto por el estado de oTb?
> espero se entienda
>
> saludos
> a FULL con Eagle1!!!!! :-)
>
Manu:
supongamos lo siguiente:
static oTb
proc Test
if Empty( oTb )
oTb:= TMyTable():New( oEConn:oDb, cTabla )
oTb:Open()
end
....
consultas y otros porcesos
....
en un menu hay una opcion de cierre donde hago: oTb:Free()
Entonces luego, al volver, oTb ya no está empty
La pregunta es: como consulto por el estado de oTb?
espero se entienda
saludos
a FULL con Eagle1!!!!! :-)
Manu:
Estoy queriendo guardar Array en campos BLob.
Según lo que me asesoro tengo que usar la función HB_Serialize(),
HB_Deserialize() de xHarbour.
De manera que por ej. hago lo siguiente:
Tb:CampoArr:= Hb_Serialize( {1, { 0, 50, 99 } } ) // donde CampoArr
es Blob
luego consulto:
oTb:Load()
xString:= oTb:CampoArr
aMiArr:= HB_Deserialize( @xString )
? Valtype( aMiArr ) // U
No es posible implementarlo con Eagle1?
Probé serialize.prg un sample que viene con xHarbour, aplicando valores
a una variable y el resultado devuelve los valores esperados
saludos
Mario aparentemente lo único que te falta es el open():
oMov:= TMyTable():New( oEConn:oDb, aTablas[_MOVACTUAL],
"ID_EntCta='"+cCuenta+"'",,"Fe_Acreditado" ) // o sin OrderBy
if oMov:Open() //<---- Esto te falta
? oMov:RecCount() // devuelve 0
endif
Mario
Has solucionado este problema?
Es por la version de LibMySQL.DLL
Saludos
González escribió:
>
> Hola Manu:
> Este es el error que me arroja al compilar PT00 empotrado
>
> xHarbour Compiler build 0.99.60.1 (SimpLex) (PuertoSUR)
> Copyright 1999-2006, http://www.xharbour.org <http://www.xharbour.org>
> http://www.harbour-project.org/ <http://www.harbour-project.org/>
> Compiling 'pt00.prg'...
> Lines 272, Functions/Procedures 3
> Generating C source output to 'pt00.c'...
> Done.
> Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
> pt00.c:
> Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
> Error: Unresolved external 'mysql_set_character_set' referenced from
> D:\XHARBOUR\3LIB\EAGLE\EAGLE1.LIB|mscconnect
>
> Cual es el problema?; revisando los fuentes no encuentro ninguna
> referencia a mysql_set...
>
> Tengo instalado MySQL 5.0.37; la libmysqld.dll que uso la encontré en
> la version 5.0.11
>
> Saludos
>
>
>
> __________ Información de NOD32, revisión 2500 (20070903) __________
>
> Este mensaje ha sido analizado con NOD32 antivirus system
> http://www.nod32.com
Manu; hago lo siguiente:
cCuenta:= "0010001"
oMov:= TMyTable():New( oEConn:oDb, aTablas[_MOVACTUAL],
"ID_EntCta='"+cCuenta+"'",,"Fe_Acreditado" ) // o sin
OrderBy
? oMov:RecCount() // devuelve 0
luego hago:
oMov:QueryFromParam(
aTablas[_MOVACTUAL],,"ID_EntCta='"+cCuenta+"'",,,"Fe_Acreditado" )
? oMov:RecCount() // devuelve <> 0 (las lineas correspondientes)
Porque no devuelve el select en el primer caso?; hay algún error en la
declaración?
Saludos
Hola Manu:
Este es el error que me arroja al compilar PT00 empotrado
xHarbour Compiler build 0.99.60.1 (SimpLex) (PuertoSUR)
Copyright 1999-2006, http://www.xharbour.orghttp://www.harbour-project.org/
Compiling 'pt00.prg'...
Lines 272, Functions/Procedures 3
Generating C source output to 'pt00.c'...
Done.
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
pt00.c:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Unresolved external 'mysql_set_character_set' referenced from
D:\XHARBOUR\3LIB\EAGLE\EAGLE1.LIB|mscconnect
Cual es el problema?; revisando los fuentes no encuentro ninguna
referencia a mysql_set...
Tengo instalado MySQL 5.0.37; la libmysqld.dll que uso la encontré en
la version 5.0.11
Saludos
Acabo de poner un ejemplo que he hecho con Eagle1 + FWH + TSBrowse de
Manuel Mercado.
En él podréis ver como se calcula el total y la media para ponerlos en
el pie o puede valer de ejemplo para sacar los totales en las facturas.
Mario descargate la version 4.0.27 sin instalación para que no se
estropee la que tengas instalada en la actualidad...
Si no me falla la memoria es la última que tenía el sistema embebido
para Windows.
Ahí podrás encontrar la DLL.
Manu:
Estoy queriendo probar esta opción, pero en el paquete C/S de MySQL no
viene la libmysqld.dll. La podés subir a Archivos o, de donde se la baja?
saludos
Miguel
El Report se genera y deja el puntero de registros del DataSet ( TTable
o TQuery ) al final, por lo que hay que hacer un oDS:GoTop() al final
del reporte.
Para el tema de TSBrowse es un poco más dificil ya que no dispongo la
versión apropiada de FW... de cualquier modo hay otro usuario que me ha
pedido también un ejemplo con TSBrowse así que me voy a poner en marcha
para hacerlos...
La version no la se bien, pero la compre el 26/5/2006, la compilaste para Harbour y Fivewin para Harbour.
Ahora tengo que convertir una aplicacion que usa TSBROWSE, como hago para usarlo con CONDOR, me funciona bien, y sin problemas con LISTBOX, pero no se que hacer con tsbrowse, tambien tengo problemas con la clase REPORT de Fivewin, ya que si genero un REPORT, no me muestra los datos de la tabla que estoy imprimiento.
Siendo Usuario de CONDOR debo comentar que me ha dado resultados muy satisfactorios, pero necesito saber si ha habido mejoras en el producto, de manera de ir actualizandome al respecto.