xbrowse , tratando de usarlo

xbrowse , tratando de usarlo

Postby lubin » Fri Nov 14, 2008 7: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
User avatar
lubin
 
Posts: 450
Joined: Fri Dec 09, 2005 12:41 am
Location: Lima, Peru

Postby Daniel Garcia-Gil » Fri Nov 14, 2008 8: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"
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Postby lubin » Fri Nov 14, 2008 8: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"
User avatar
lubin
 
Posts: 450
Joined: Fri Dec 09, 2005 12:41 am
Location: Lima, Peru

Postby lubin » Fri Nov 14, 2008 9: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"
[/quote]
User avatar
lubin
 
Posts: 450
Joined: Fri Dec 09, 2005 12:41 am
Location: Lima, Peru

Postby Daniel Garcia-Gil » Fri Nov 14, 2008 11:05 pm

publica el codigo de creacion del browse
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Postby lubin » Sat Nov 15, 2008 2: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
User avatar
lubin
 
Posts: 450
Joined: Fri Dec 09, 2005 12:41 am
Location: Lima, Peru

Postby Daniel Garcia-Gil » Sat Nov 15, 2008 3: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
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Postby lubin » Sat Nov 15, 2008 4: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
User avatar
lubin
 
Posts: 450
Joined: Fri Dec 09, 2005 12:41 am
Location: Lima, Peru

Postby Daniel Garcia-Gil » Sun Nov 16, 2008 6:37 am

intenta esto... tube que leer un un poco de eagle para dar con esta posible solucion... espero te sea de utilidad
Code: Select all  Expand view  RUN
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()
Code: Select all  Expand view  RUN
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
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: cmsoft and 51 guests