database y browse

Post Reply
surGom
Posts: 624
Joined: Wed Oct 19, 2005 12:03 pm
Contact:

database y browse

Post by surGom »

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
User avatar
jrestojeda
Posts: 543
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Re: database y browse

Post by jrestojeda »

Hola amigo...
Prueba poner un GoTop en la apertura de la DBF

Code: Select all

if !pasaje("banprove");eturn nil;endif
DATABASE oBanpro
oBanpro:setorder(1)
oBanpro:beof:={||nil} 
oBanpro:GoTop()
 
Y el LISTBOX sin el Alias.

Code: Select all

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
surGom
Posts: 624
Joined: Wed Oct 19, 2005 12:03 pm
Contact:

Re: database y browse

Post by surGom »

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
surGom
Posts: 624
Joined: Wed Oct 19, 2005 12:03 pm
Contact:

Re: database y browse

Post by surGom »

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
User avatar
QAZWSX2K
Posts: 359
Joined: Tue Oct 25, 2005 7:06 pm
Location: Bogota - Caracas

Re: database y browse

Post by QAZWSX2K »

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
surGom
Posts: 624
Joined: Wed Oct 19, 2005 12:03 pm
Contact:

Re: database y browse

Post by surGom »

Sí así lo hice yo también, lo que buscaba era saber si alguien tenía una explicación para esto

Un abrazo
Luis
Carlos Mora
Posts: 988
Joined: Thu Nov 24, 2005 3:01 pm
Location: Madrid, España

Re: database y browse

Post by Carlos Mora »

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
“If you think education is expensive, try ignorance"
surGom
Posts: 624
Joined: Wed Oct 19, 2005 12:03 pm
Contact:

Re: database y browse

Post by surGom »

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
User avatar
ADBLANCO
Posts: 299
Joined: Mon Oct 22, 2007 3:03 pm
Location: Valencia - Venezuela

Re: database y browse

Post by ADBLANCO »

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
surGom
Posts: 624
Joined: Wed Oct 19, 2005 12:03 pm
Contact:

Re: database y browse

Post by surGom »

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
Post Reply