FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour ADO y XBROWSE (Solucionado)
Posts: 229
Joined: Sat Mar 18, 2006 03:42 PM
ADO y XBROWSE (Solucionado)
Posted: Wed Aug 27, 2008 04:21 AM
Un saludo a todos

Estoy tratando de usar el recordset con xbrowse. Me funciona muy bien con el wbrowse de Hernán, pero siempre hay algunas cosillas que éste no tiene implentado lo que el xbrose si.

Me he guiado con los ejemplos que aparecen en el foro, pero tengo el siguiente problema:

Yo uso harbour, pero uno de los ejemplos está basado en xHarbour :

 oCol                 := oBrw:AddCol() 
   WITH OBJECT oCol 
      :bStrData         := {|| cValToChar( rs:fields(0):Value ) } 
      :cHeader          := rs:fields(0):Name 
   END 

   oCol                 := oBrw:AddCol() 
   WITH OBJECT oCol 
      :bStrData         := {|| cValToChar( rs:fields(1):Value ) } 
      :cHeader          := rs:fields(1):Name 
   END


Luego de probar y probar lo solucioné creando tantas variables ocol como columnas se quiera crear. Quedando así en Harbour:

   oCol1:= oBrw:AddCol() 
   oCol1:bStrData         := {|| cValToChar( rs:fields(0):Value ) } 
   oCol1:cHeader          := rs:fields(0):Name 
    

   oCol2                 := oBrw:AddCol() 
   oCol2:bStrData         := {|| cValToChar( rs:fields(1):Value ) } 
   oCol2:cHeader          := rs:fields(1):Name


Esto funciona, pero creo que no es nada práctico declarar 10 variables ocol si tengo 10 columnas....; entonces cómo hago para hacer lo que hace WITH OBJECT.....END, que no tiene harbour. O de qué otra manera puedo solucionarlo.

Me dirán que use el comando @x,y XBROWSE...., o que use el método SetAdo(), pero no puedo porque tengo el fw de mayo 2006 y no tiene implentado esas novedades. Tampoco me digan que tengo que comprarme la nueva versión de FW :-) .

Y por último, por qué me sale "ERROR BASE/1005 Class: NIL has no exported property:OCLIENT" al colocar esta línea:

oWnd:oClient := oBrw

Qué función tiene dicha línea?. Al quitarla desaparece el error, pero el browse aparece en una ventana pequeñita.

Gracias sinceras por su apoyo.

Marcelo Jingo
Marcelo Jingo
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
ADO y XBROWSE (Solucionado)
Posted: Wed Aug 27, 2008 07:55 AM

Marcelo,

Harbour ya soporta WITH OBJECT. Solo tienes que actualizar tu versión de Harbour desde www.fivetechsoft.com/files/harbour.exe

>
Y por último, por qué me sale "ERROR BASE/1005 Class: NIL has no exported property:OCLIENT" al colocar esta línea:

oWnd:oClient := oBrw
>

Porque oWnd, por alguna causa, es nil y no contiene a tu ventana principal.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 229
Joined: Sat Mar 18, 2006 03:42 PM
ADO y XBROWSE (Solucionado)
Posted: Wed Aug 27, 2008 10:07 PM
Gracias Antonio.

He bajado el archivo indicado. Renombré la carpeta anterior de harbour y he instalado la nueva versión. Al compilar la aplicación me ha pedido una serie de librerías que no traía la nueva versión; a lo que he ido copiando las de la versión anterior en mi nueva carpeta LIB. Pero finalmente me da otros errores que no sé cómo slucionar:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland                                                                      
Error: Unresolved external '_hb_gt_w32_tone' referenced from C:\HARBOUR\LIB\GTWIN.LIB|gtwin                                       
Error: Unresolved external '_hb_gt_w32_getKbdState' referenced from C:\HARBOUR\LIB\GTWIN.LIB|gtwin                                
Error: Unresolved external '_hb_gt_w32_setKbdState' referenced from C:\HARBOUR\LIB\GTWIN.LIB|gtwin                                
Error: Unresolved external '_hb_gt_w32_setClipboard' referenced from C:\HARBOUR\LIB\GTWIN.LIB|gtwin                               
Error: Unresolved external '_hb_gt_w32_getClipboard' referenced from C:\HARBOUR\LIB\GTWIN.LIB|gtwin                               
Error: Unresolved external '_hb_itemPutCLPtr' referenced from C:\HARBOUR\LIB\GTWIN.LIB|gtwin                                      
Error: Unresolved external '_HB_FUN_DBFFPT' referenced from C:\HARBOUR\LIB\RDD.LIB|rddsys                                         
Error: Unresolved external '_hb_vmProcessSymbolsEx' referenced from C:\CICIADM2\OBJ\WINDOW.OBJ


por favor qué hago?...

Otra cosa: Veo que en harbour viene una librería rddado.lib, cómo se la puede usar desde FW.

Un Saludo

Marcelo Jingo
Marcelo Jingo
Posts: 229
Joined: Sat Mar 18, 2006 03:42 PM
Solucionado
Posted: Thu Aug 28, 2008 02:27 AM

Gracias Antonio por la buena voluntad. Pero no he podido generar mi aplicación con la nueva versión de Harbour que me he bajado. Por lo tanto este punto queda pendiente y lo postearé bajo otro título.

Por lo tanto he tratado de resolverlo con lo que tengo, y ya lo he logrado. Ahora sí puedo navegar por el recordset usando XBROWSE.

Lo del oClient, también solucionado (creo que estuve despistado) .

Seguiré con esto del ADO y XBrowse así que cualquier cosa estaré molestando.

Un Saludo

Marcelo Jingo

Marcelo Jingo
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
ADO y XBROWSE (Solucionado)
Posted: Thu Aug 28, 2008 04:14 PM

Marcelo, creo no es necesario que uses una variable por columna oCol1... oCol10.

puedes usar una sola oCol, ya que

oCol := oBrw:AddCol()

inicias un objeto columna y lo inserta al browse, luego con las siguientes instrucciones lo modificas, hasta encontrarse con el siguiente

oCol := oBrw:AddCol()

Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 229
Joined: Sat Mar 18, 2006 03:42 PM
ADO y XBROWSE (Solucionado)
Posted: Thu Aug 28, 2008 05:18 PM

Gracias Carlos por tu interés

Lo que dices es verdad, ya me di cuenta, y es así como está resuelto. El problema era que no generaba un codeblock correcto al momento de asignar a bStrdata. Y como dije este post está solucionado.

Un saludo

Marcelo Jingo

Marcelo Jingo

Continue the discussion