FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour database y browse
Posts: 652
Joined: Wed Oct 19, 2005 12:03 PM
database y browse
Posted: Sun May 24, 2009 08:51 PM

Hola estoy intrigado con el uso de la clase. Les explico, utiliz贸 mucho esta clase y ning煤n problema. Uno de los usos que le doy es el de cargar los browses con esta. Bueno hasta aqu铆 no hay problema. Pero hoy quise hacer lo mismo pero con la diferencia que la clase la database la hago en una funci贸n principal y el browse lo llamo en otra funci贸n en el mismo prg. El problema es que no me muestra nada en el browse. Ahora si abro la base de datos en la funci贸n secundaria(en este caso function provee(olbx,lnuevo,oMae)) funciona perfectamente. Alguien sabe el porque de este comportamiento??

Uso fwh 2.6 xharbour 99.61 y borland

Luis

Ejemplo ( no funciona )
FUNCTION Brwprove //principal del programa
LOCAL oLbx
LOCAL oDlg, oSplit := array(2)
LOCAL oRadioButton
LOCAL nOrden:=1
LOCAL onbut := array(6)
LOCAL surge
LOCAL oMae
Local cTitulo := "Listado de proveedores locales"
LOCAL aObj := array(0)
LOCAL oBanpro

if !pasaje("banprove");eturn nil;endif
DATABASE oBanpro
oBanpro:setorder(1)
oBanpro:beof:={||nil}

ETC ETC ETC

REDEFINE BTNBMP oNbut[1] id 102 of oDlg resource "btnagregar","btnagrega1" ACTION provee( oLbx, .T.,oMae,oBanpro ) NOBORDER
//////////////////////////////////////////////////////////////////
function provee(olbx,lnuevo,oMae,obanpro)
bla bla bla

REDEFINE LISTBOX oBrw ;
FIELDS (obanpro:calias)->banco, (obanpro:calias)->cbu FIELDSIZES 190,120;
HEADERS "BANCO", "CBU" ID 102 of oFold:adialogs[3] UPDATE

     oBrw:bSkip = { | nRecs | obanpro:Skipper( nRecs ) } 
     oBrw:nLineStyle := 3
             oBrw:nClrBackFocus := CLR_CYAN
             oBrw:nClrForeFocus := CLR_WHITE

////////////////////////////////////////////////////////////////////
En cambio as铆 s铆 funciona

FUNCTION Brwprove //principal del programa
LOCAL oLbx
LOCAL oDlg, oSplit := array(2)
LOCAL oRadioButton
LOCAL nOrden:=1
LOCAL onbut := array(6)
LOCAL surge
LOCAL oMae
Local cTitulo := "Listado de proveedores locales"
LOCAL aObj := array(0)
LOCAL oBanpro

ETC ETC ETC

REDEFINE BTNBMP oNbut[1] id 102 of oDlg resource "btnagregar","btnagrega1" ACTION provee( oLbx, .T.,oMae) NOBORDER

ETC ETC ETC

//////////////////////////////////////////////////////////////////
function provee(olbx,lnuevo,oMae)

if !pasaje("banprove");eturn nil;endif
DATABASE oBanpro
oBanpro:setorder(1)
oBanpro:beof:={||nil}

bla bla bla

REDEFINE LISTBOX oBrw ;
FIELDS (obanpro:calias)->banco, (obanpro:calias)->cbu FIELDSIZES 190,120;
HEADERS "BANCO", "CBU" ID 102 of oFold:adialogs[3] UPDATE

     oBrw:bSkip = { | nRecs | obanpro:Skipper( nRecs ) } 
     oBrw:nLineStyle := 3
             oBrw:nClrBackFocus := CLR_CYAN
             oBrw:nClrForeFocus := CLR_WHITE
Posts: 601
Joined: Wed Jul 04, 2007 03:51 PM
Re: database y browse
Posted: Mon May 25, 2009 03:25 AM
Hola amigo...
Prueba poner un GoTop en la apertura de la DBF

Code (fw): Select all Collapse
if !pasaje("banprove");eturn nil;endif
DATABASE oBanpro
oBanpro:setorder(1)
oBanpro:beof:={||nil} 
oBanpro:GoTop()


Y el LISTBOX sin el Alias.
Code (fw): Select all Collapse
REDEFINE LISTBOX oBrw ; 
聽 聽 聽 聽 聽FIELDS oBanpro:banco, oBanpro:cbu;
聽 聽 聽 聽 聽FIELDSIZES 190,120;
聽 聽 聽 聽 聽HEADERS "BANCO", "CBU" ID 102 of oFold:adialogs[3] UPDATE


Espero te sirva.
Saludos,
Ojeda Esteban Eduardo.

Buenos Aires - Argentina.

FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport

Skype: jreduojeda
Posts: 652
Joined: Wed Oct 19, 2005 12:03 PM
Re: database y browse
Posted: Mon May 25, 2009 11:18 AM

S铆 as铆 lo hago en otra parte ya que hago un filtro de la base para que me muestre s贸lo los registros del proveedor consultado. Me parece que el problema est谩 en declarar al browse como local, voy a probar en declararlo como est谩tico

Luis

Posts: 652
Joined: Wed Oct 19, 2005 12:03 PM
Re: database y browse
Posted: Mon May 25, 2009 11:40 AM
Bueno acabo de probar y tampoco me funciona... Lo voy a dejar as铆 como est谩 es decir abrir cada vez que consulto un proveedor abriendo la base de datos y cerrandola cuando salgo de la rutina. No es lo correcto pero funciona.

Cuando empez茅 a programar alguien dijo si funciona no lo toques. No es mi gusto pero estuvedos horas con esto y no hubo caso
Posts: 364
Joined: Tue Oct 25, 2005 07:06 PM
Re: database y browse
Posted: Mon May 25, 2009 01:57 PM

he tenido ese problema antes y lo resolvi pasando el objeto database al programa que hace el browse

Software especializado para oficinas contables con grandes volumenes de Informacion
Impresion de todos los formularios del Seniat, Dian

alex_patino74@hotmail.com
whatsapp 57+3214777217
Posts: 652
Joined: Wed Oct 19, 2005 12:03 PM
Re: database y browse
Posted: Mon May 25, 2009 03:53 PM

S铆 as铆 lo hice yo tambi茅n, lo que buscaba era saber si alguien ten铆a una explicaci贸n para esto

Un abrazo
Luis

Posts: 989
Joined: Thu Nov 24, 2005 03:01 PM
Re: database y browse
Posted: Mon May 25, 2009 06:17 PM

Una pregunta... Estas seguro que cuando declaras DATABASE oBanPro est谩 seleccionada la dbf que quieres? Que pasa si ponemos un ? Alias() justo antes del DATABASE oBanPro?

Un saludo

Saludos
Carlos Mora
http://harbouradvisor.blogspot.com/
StackOverflow http://stackoverflow.com/users/549761/carlos-mora
鈥淚f you think education is expensive, try ignorance"
Posts: 652
Joined: Wed Oct 19, 2005 12:03 PM
Re: database y browse
Posted: Mon May 25, 2009 07:22 PM

Carlos as铆 la declaro

if !pasaje("banprove");return nil;endif
DATABASE oBanpro
oBanpro:setorder(1)
oBanpro:beof:={||nil}

Lo extra帽o que si lo declaro en el primer prg y luego lo paso como variable de la segunda funci贸n, no muestra nadaen el browse, (prob茅 llamando un msg y s铆 me muestra un registro en la segunda funci贸n). Si tal cual est谩 arriba lo declaro en la segunda funci贸n no hay problemas

Luis

Posts: 299
Joined: Mon Oct 22, 2007 03:03 PM
Re: database y browse
Posted: Tue May 26, 2009 08:13 PM

Prueba con :

REDEFINE BTNBMP oNbut[1] id 102 of oDlg resource "btnagregar","btnagrega1" ACTION eval({|| provee( oLbx, .T.,oMae,oBanpro )}) NOBORDER

Saludos



Angel, Valencia, Venezuela



xH .997 - FW 7.9 - BCC55 - WorkShop - MySql
Posts: 652
Joined: Wed Oct 19, 2005 12:03 PM
Re: database y browse
Posted: Tue May 26, 2009 10:55 PM

Angel tampoco funciona. Hice un mont贸n de pruebas y no sigue sin funcionar pasando como variable la base. Si la base la abro en el misma funci贸n que declaro el browse funciona.

Gracias

Luis

Continue the discussion