FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour xbrowse , tratando de usarlo
Posts: 467
Joined: Fri Dec 09, 2005 12:41 AM
xbrowse , tratando de usarlo
Posted: Fri Nov 14, 2008 07:54 PM

Holas amigos.. a ver si me dan una mano para implementar el xbrowse

Estaba usando un LISTBOX simple y lo cambie para usar el xbrowse

primero era un :
REDEFINE LISTBOX oLbx FIELDS XVALOR1, XVALOR2...... ,;

y ahora es UN :
REDEFINE XBROWSE oLbx FIELDS XVALOR1, XVALOR2....... ,;

Ademas he activado el #include "xbrowse.ch" al inicio de mi xxxxxxx.prg...

debo de jalar alguna libreria adicional para q funcione al momento de compilar ???

utilizo el verse 4.2

PERO ME ESTA SALIENDO ESTE ERROR (OJO con LISTBOX fucniona oki) !!!:

Application

Path and name: E:\pmysql\LXION\LXION.Exe (32 bits)
Size: 2,693,120 bytes
Time from start: 0 hours 0 mins 6 secs
Error occurred at: 14/11/2008, 14:38:26
Error description: Error FiveWin/3 Cannot create Dialog Box:
Resource: MTCA10_S1

Stack Calls

Called from: .\source\classes\DIALOG.PRG => CREATEDLGERROR(0)
Called from: => TDIALOG:ACTIVATE(0)
Called from: E:\pmysql\LXION\PRG\mtca10.prg => MTCA10(129)
Called from: E:\pmysql\LXION\PRG\lxion.prg => (b)WGES_MENU(558)
Called from: => TMENU:COMMAND(0)
Called from: => TWINDOW:COMMAND(0)
Called from: => TWINDOW:HANDLEEVENT(0)
Called from: .\source\classes\WINDOW.PRG => _FWH(0)
Called from: => WINRUN(0)
Called from: => TWINDOW:ACTIVATE(0)
Called from: E:\pmysql\LXION\PRG\lxion.prg => MAIN(371)

Variables in use

Procedure Type Value
==========================
CREATEDLGERROR
Param 1: O Class: TDIALOG
Local 1: C "MTCA10_S1"
Local 2: C " "
TDIALOG:ACTIVATE
Param 1: U
Param 2: U
Param 3: U
Param 4: L .T.
Param 5: U
Param 6: L .T.
Param 7: U
Param 8: U
Param 9: U
Param 10: L .F.
Local 1: O Class: TDIALOG
Local 2: N 329454
Local 3: U
Local 4: U
MTCA10
Param 1: O Class: KDAT_SYS
Local 1: O Class: TDIALOG
Local 2: O Class: TXBROWSE
Local 3: O Class: TCURSOR
Local 4: O Class: TFONT
Local 5: O Class: TSAY
Local 6: C "FILE DE TIPO DE CAMBIO"
Local 7: C "Mantenimiento de File de Tipo de Cambio"
Local 8: O Class: TMSCONNECT
Local 9: C "GNSYS_KEYFARM"
Local 10: O Class: TMSDATABASE
Local 11: C "MTCAMBIO"
Local 12: O Class: TMSQUERY
Local 13: U
Local 14: N 0
Local 15: N 1
Local 16: N 12
Local 17: C "SELECT * FROM MTCAMBIO ORDER BY FE_TC"
Local 18: C "SELECT * FROM MTCAMBIO ORDER BY FE_TC"
Local 19: U
Local 20: C " "
Local 21: N 0
(b)WGES_MENU
Param 1: O Class: TMENUITEM

Classes in use:

 1 ERROR
 2 HBCLASS
 3 HBOBJECT
 4 KDAT_SYS
 5 TSQLVIRTUAL
 6 TMSERROR
 7 TEAGLE1
 8 TMSCONNECT
 9 TWINDOW
10 TDIALOG
11 TBRUSH
12 TCONTROL
13 TBITMAP
14 TIMAGE
15 TMSDATABASE
16 TMSSTATEMENT
17 TMSCOLUMNCONTAINER
18 TMSQUERY
19 TMSTABLE
20 TMSCOMMAND
21 TCOMBOBOX
22 TGET
23 GET
24 TCLIPGET
25 TBUTTON
26 TFONT
27 TMENU
28 TMENUITEM
29 TICON
30 TBAR
31 TRECT
32 TBTNBMP
33 TMSGBAR
34 TMSGITEM
35 TTIMER
36 TCURSOR
37 TSAY
38 TXBROWSE
39 TXBRWCOLUMN
40 TREG32

Memory Analysis

  159 Static variables

Dynamic memory consume:
Actual Value: 0 bytes
Highest Value: 0 bytes

Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
xbrowse , tratando de usarlo
Posted: Fri Nov 14, 2008 08:03 PM

revisa el recurso, talvez no tienes declarado el browse como TXBROWSE, el xbrowse debes crearlo por medio de un "custom control",
en el nombre de la clase del "custom control" debes poner "TXBROWSE"

Posts: 467
Joined: Fri Dec 09, 2005 12:41 AM
xbrowse , tratando de usarlo
Posted: Fri Nov 14, 2008 08:13 PM
Hola Mcfox

Seguro que si, eso no lo he hecho,,, (con orgullo soy un novato de xbrowse!!! ) lo aplicare en este instantee..

y les voy comentando la implementacion ..

Gracias muy

Lubin



mcfox wrote:revisa el recurso, talvez no tienes declarado el browse como TXBROWSE, el xbrowse debes crearlo por medio de un "custom control",
en el nombre de la clase del "custom control" debes poner "TXBROWSE"
Posts: 467
Joined: Fri Dec 09, 2005 12:41 AM
xbrowse , tratando de usarlo
Posted: Fri Nov 14, 2008 09:56 PM
Hola Mcfox

Tenias razon.. con ello Levanto correcto el browse

Ahoraa se me presento otro problema.. :-)

Me muestra los registross. PEROOOOOO.....

1. Al apuntar con el Cursor algun registro diferente de donde esta el foco, le hago click para activarlo pero nada.. debo usar el teclado con las flechas para llegar al nuevo registro ...


Gracias muy

Lubin



mcfox wrote:revisa el recurso, talvez no tienes declarado el browse como TXBROWSE, el xbrowse debes crearlo por medio de un "custom control",
en el nombre de la clase del "custom control" debes poner "TXBROWSE"
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
xbrowse , tratando de usarlo
Posted: Fri Nov 14, 2008 11:05 PM

publica el codigo de creacion del browse

Posts: 467
Joined: Fri Dec 09, 2005 12:41 AM
xbrowse , tratando de usarlo
Posted: Sat Nov 15, 2008 02:55 AM
mcfox wrote:publica el codigo de creacion del browse



Aqui esta el codigo... las funciones LeeCampo(oXX,cXXX) retorna un valor de la tabla..activa.. )

DEFINE CURSOR oDedo RESOURCE "Dedo"
DEFINE FONT S_oTit1Font NAME "Roman" SIZE 10, 20
DEFINE DIALOG oDlg RESOURCE "MTCA10_S1" TITLE "{ "+ PROCNAME()+" } " + s_cCaption
REDEFINE SAY S_oTit1Text PROMPT S_cTit1Text ID 601 OF oDlg FONT S_oTit1Font
*** REDEFINE LISTBOX oLbx FIELDS STR(oTABLA:RECNO(),4,0) ,; antess.. lo usaba
REDEFINE XBROWSE oLbx FIELDS FDATE(LeeCampo(oTabla,"FE_TC")),;
STR(LeeCampo(oTabla,"VAL_TC"),10,4),;
STR(LeeCampo(oTabla,"VCO_TC"),10,4),;
STR(LeeCampo(oTabla,"EUV_TC"),10,4),;
STR(LeeCampo(oTabla,"EUC_TC"),10,4);
HEADERS "Fecha","C.Venta $","C.Compra$ ", "C.Venta Eur.","C.Compra Eur." ;
CURSOR oDedo;
FIELDSIZES 80,60,60,60,60 AUTOSORT ;
ON DBLCLICK MTCA10PRO( "E",oSYS_DAT,oLbx,oCon,oDBaseCia,oTabla,cNmTabla) ;
ID 172 OF oDlg
mysetBrowse(oLbx,oTabla)

oLbx:bKeyDown := {|nKey| MTCA10_KEY( nKey,oSYS_DAT, oLbx,oDlg,oCon,oDBaseCia,oTabla,cNmTabla )}

REDEFINE BITMAP RESOURCE "BC_NUEVO" ID 811 OF oDlg ON CLICK MTCA10PRO( "N",oSYS_DAT,oLbx,oCon,oDBaseCia,oTabla,cNmTabla) CURSOR oDedo
REDEFINE BITMAP RESOURCE "BC_EDITAR" ID 812 OF oDlg ON CLICK MTCA10PRO( "E",oSYS_DAT,oLbx,oCon,oDBaseCia,oTabla,cNmTabla) CURSOR oDedo
REDEFINE BITMAP RESOURCE "BC_BORRAR" ID 813 OF oDlg ON CLICK MTCA10PRO( "B",oSYS_DAT,oLbx,oCon,oDBaseCia,oTabla,cNmTabla) CURSOR oDedo
REDEFINE BITMAP RESOURCE "BC_VER" ID 814 OF oDlg ON CLICK MTCA10PRO( "V",oSYS_DAT,oLbx,oCon,oDBaseCia,oTabla,cNmTabla) CURSOR oDedo
REDEFINE BITMAP RESOURCE "BC_UBICA" ID 815 OF oDlg && ON CLICK MTCA10_UBI(oLbx) CURSOR oDedo
REDEFINE BITMAP RESOURCE "BC_REPORTE" ID 816 OF oDlg ON CLICK MTCA10REP(oTabla) CURSOR oDedo
REDEFINE BITMAP RESOURCE "BC_SALIR" ID 817 OF oDlg ON CLICK oDlg:End() CURSOR oDedo
ACTIVATE DIALOG oDlg CENTERED
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
xbrowse , tratando de usarlo
Posted: Sat Nov 15, 2008 03:55 AM

mysetBrowse(oLbx,oTabla)
que tienes dentro de esta funcion??
oTabla que tipo de dato tiene es un objeto DBF o un recordset u otro objeto?
usas SetDbf() o SetAdo(), te podria sugerir pasar los datos a un array o una estructura y trabajar desde alli, por lo que veo creo que usas eagle1, nunca lo he usado, talvez si otro colega tenga una ejemplo de como usar eagle con xbrowse seria de ayuda... pienso que podrias tener el error en la forma como seteas el origen de la data del browse

Posts: 467
Joined: Fri Dec 09, 2005 12:41 AM
xbrowse , tratando de usarlo
Posted: Sat Nov 15, 2008 04:10 AM
la funciion mysetbrowse es una funcion de de la clase eagle1 para manejo de mysql y es seguro que el problema radica en el seteo del objeto del recordset para la tablas de mysql con Eagle1.


mcfox wrote:mysetBrowse(oLbx,oTabla)
que tienes dentro de esta funcion??
oTabla que tipo de dato tiene es un objeto DBF o un recordset u otro objeto?
usas SetDbf() o SetAdo(), te podria sugerir pasar los datos a un array o una estructura y trabajar desde alli, por lo que veo creo que usas eagle1, nunca lo he usado, talvez si otro colega tenga una ejemplo de como usar eagle con xbrowse seria de ayuda... pienso que podrias tener el error en la forma como seteas el origen de la data del browse
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
xbrowse , tratando de usarlo
Posted: Sun Nov 16, 2008 06:37 AM
intenta esto... tube que leer un un poco de eagle para dar con esta posible solucion... espero te sea de utilidad
define window oWnd title "prueba eagle"
	oBrw:=TxBrowse():New(oWnd)
						
	oBrw:nMarqueeStyle := MARQSTYLE_HIGHLROW 
	oBrw:nColDividerStyle := LINESTYLE_LIGHTGRAY
	oBrw:nRowDividerStyle := LINESTYLE_LIGHTGRAY
	oBrw:lColDividerComplete := (.F.) 
	oBrw:nHeaderHeight := 25 
	oBrw:nRowHeight := 22 
	oBrw:nDataLines := 1 
	oBrw:lHScroll := (.F.) 
						
	aCol[ 1] := oBrw:AddCol()
	aCol[ 1]:bStrData := { ||oTb:FieldGet(1) }
	aCol[ 1]:cHeader := "campo1"
	aCol[ 1]:nHeadStrAlign := AL_LEFT
	aCol[ 1]:nDataStrAlign := AL_LEFT
	aCol[ 1]:nWidth := 100
						
	aCol[ 2] := oBrw:AddCol()
	aCol[ 2]:bStrData := { ||oTb:FieldGet(2) }
	aCol[ 2]:cHeader := "campo2"
	aCol[ 2]:nHeadStrAlign := AL_LEFT
	aCol[ 2]:nDataStrAlign := AL_LEFT
	aCol[ 2]:nWidth := 210

	oBrw:CreateFromCode()
						
	SetEagle(oBrw,oTb)
												
	oWnd:oClient = oBrw
						
activate window oWnd


la rutina SetEagle es casi una fotocopia del metodo SetAdo() de la xbrowse()
procedure SetEagle( oBrw, oTb )
   oBrw:cAlias := ""
   oBrw:bGoTop    := {|| If( oTb:RecCount() > 0, oTb:First(), nil ) }
   oBrw:bGoBottom := {|| If( oTb:RecCount() > 0, oTb:Last(), nil )  }
   oBrw:bSkip     := {| n | oTb:Skipper( If( n==nil, 1, n ) ) }
   oBrw:bBof      := {|| oTb:Bof() }
   oBrw:bEof      := {|| oTb:Eof() }
   oBrw:bBookMark := {| n | If( n == nil,;
                                 If( oTb:RecCount() > 0, oTb:Recno(), 0 ), ;
                                 If( oTb:RecCount() > 0, oTb:GoTo( n ), 0 ) ) }
   oBrw:bKeyNo    := {| | RecNo() }
   oBrw:bKeyCount := {|| oTb:RecCount() }
   oBrw:refresh()
return
return

Continue the discussion