FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Problemas con Eagle (mysql) y el Wbrowse
Posts: 299
Joined: Mon Oct 22, 2007 03:03 PM

Problemas con Eagle (mysql) y el Wbrowse

Posted: Fri Oct 26, 2007 04:01 PM

Tengo Problemas con el comportamiento del Wbrowse accesando una tabla desde mysql con Eagle.
Al desplegar la lista o darle Fin o Inicio, aparentemente pierde el foco, y si
se le da PgUp o PgDn, trabaja de forma erronea, a que se puede deber esto??

Tengo xHarbour 7.1 y Fw 7.09


FUNCTION prueba() && Programa de prueba


LOCAL oDlg ,;
oButSalir ,;
oTabla ,;
oLbx ,;
cTabla := "DtsCiudad"

DEFINE TABLE oTabla ;
NAME cTabla DATAFIELD ;
ORDER BY 1 ;
OF oDtBase

  // Traemos el resultado a nuestro cliente

OPEN TABLE oTabla

*oTabla := TMsTable( cTabla ):New( oDtBase, cTabla )
// Con DataFields:
// oTabla := TMyTable( cTabla ):New( oDtBase, cTabla )

// Traemos el resultado a nuestro cliente
IF oTabla:lOpened

 DEFINE    DIALOG      oDlg        RESOURCE "prueba";
          TITLE       'Prueba con oTabla'
   oDlg:lHelpIcon  :=.f.  && Apago el Icono de Help

   REDEFINE LISTBOX oLbx ;
            FIELDS PadL( oTabla:FieldGet( 1 ), 6, " " ),;
                   oTabla:xFieldGet( 3 ), ;
                   oTabla:xFieldGet( 4 ), ;
                   oTabla:xFieldGet( 5 ), ;
                   oTabla:xFieldGet( 6 ) ;
            HEADERS "Codigo", ;
                    "Cod/Estado", ;
                    "Ciudad", ;
                    "Abreviatura", ;
                    "Cod.Area" ID 401 OF oDlg

   REDEFINE  BUTTON      oButSalir     ID  101  OF oDlg;
             ACTION  oDlg:End()

   oTabla:GoTop():Read() // No se olvide nunca de esta linea
   MySetBrowse( oLbx, oTabla )
   oDlg:oClient := oLbx

 ACTIVATE DIALOG oDlg CENTER

 oTabla:close()

ELSE
MSGALERT("No se puede abrir la tabla: " + cTabla )
ENDIF
RETURN NIL

Saludos



Angel, Valencia, Venezuela



xH .997 - FW 7.9 - BCC55 - WorkShop - MySql
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM

Problemas con Eagle (mysql) y el Wbrowse

Posted: Mon Oct 29, 2007 02:57 PM
ADBlanco

Proba así:

REDEFINE LISTBOX oLbx ;
FIELDS "" ;
HEADERS "Codigo", ;
               "Cod/Estado", ;
               "Ciudad", ;
               "Abreviatura", ;
               "Cod.Area" ;
ID 401 OF oDlg

oLbx:bLine:= {|| { oTabla:Load(), ;
                            { PadL( oTabla:FieldGet( 1 ), 6, " " ),;
                               oTabla:xFieldGet( 3 ), ;
                               oTabla:xFieldGet( 4 ), ;
                               oTabla:xFieldGet( 5 ), ;
                               oTabla:xFieldGet( 6 ) } }

...


Sobre este tema (Eagle1), también podes dejar tu consulta en
http://ar.groups.yahoo.com/group/eagle1/?yguid=312688556

saludos
Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 299
Joined: Mon Oct 22, 2007 03:03 PM

Problemas con Eagle (mysql) y el Wbrowse

Posted: Mon Oct 29, 2007 04:13 PM

Gracias Mario G., Ya hice la prueba y el comportamiento erróneo sigue igual:
Al activarse presenta la lista, Hay que hacer click sobre una línea para que responda a las teclas de PgUp o PgDn o Inicio o Final, después se vuelve loco con la informaciób presentada, como si perdiera algún apuntador.
Si paso el resultado del query a un arreglo o a una tabla tipo dbf trabaja bién. Pero la idea es no tener que efectuar estos pasos previos y trabajar directamente.
Parece que el problema tiene su origen en las definiciones que hace el eagle en MySetBrowse() de los bloques:

oLbx:bGoTop := { || oTabla:GoTop(), MsFetchRow( oTabla:hResult ) }
oLbx:bGoBottom :={||oTabla:GoBottom(),MsFetchRow(oTabla:hResult ) }
oLbx:bSkip := { | n | oTabla:Skipper( n )}
oLbx:bLogicLen := { || oTabla:nRowCount }

Saludos



Angel, Valencia, Venezuela



xH .997 - FW 7.9 - BCC55 - WorkShop - MySql
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM

Problemas con Eagle (mysql) y el Wbrowse

Posted: Mon Oct 29, 2007 08:06 PM

Puede ser algún problema con tu versión de Eagle; 1.33 si mal no interpreto por la llamada a ::Read(), que en la última version ya no existe más.
Te sugiero que dejes la consulta en el Link que te dejé

Saludos

Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 299
Joined: Mon Oct 22, 2007 03:03 PM

Problemas con Eagle (mysql) y el Wbrowse

Posted: Fri Nov 02, 2007 06:11 PM

YA LO RESOLVÍ, GRACIAS.....

AQUI LO DEJO, POR SI ACASO A ALGUIEN LE OCURRE LO MISMO...


FUNCTION prueba() && Programa de prueba


LOCAL oDlg ,;
oButSalir ,;
oTabla ,;
oLbx ,;
cTabla := "DtsCiudad"

DEFINE TABLE oTabla ;
NAME cTabla DATAFIELD ;
ORDER BY 1 ;
OF oDtBase

// Traemos el resultado a nuestro cliente
OPEN TABLE oTabla

*oTabla := TMsTable( cTabla ):New( oDtBase, cTabla )
// Con DataFields:
// oTabla := TMyTable( cTabla ):New( oDtBase, cTabla )

// Traemos el resultado a nuestro cliente
IF oTabla:lOpened

DEFINE DIALOG oDlg RESOURCE "prueba";
TITLE 'Prueba con oTabla'
oDlg:lHelpIcon :=.f. && Apago el Icono de Help

REDEFINE LISTBOX oLbx ;
FIELDS PadL( oTabla:FieldGet( 1 ), 6, " " ),;
oTabla:xFieldGet( 3 ), ;
oTabla:xFieldGet( 4 ), ;
oTabla:xFieldGet( 5 ), ;
oTabla:xFieldGet( 6 ) ;
HEADERS "Codigo", ;
"Cod/Estado", ;
"Ciudad", ;
"Abreviatura", ;
"Cod.Area" ID 401 OF oDlg

REDEFINE BUTTON oButSalir ID 101 OF oDlg;
ACTION oDlg:End()

oTabla:GoTop():Read() // No se olvide nunca de esta linea
MySetBrowse( oLbx, oTabla )

oLbx:cAlias:="ARRAY" // <==== SIN ESTO NO TRABAJA <<===

oDlg:oClient := oLbx

ACTIVATE DIALOG oDlg CENTER

oTabla:close()
ELSE
MSGALERT("No se puede abrir la tabla: " + cTabla )
ENDIF
RETURN NIL

Saludos



Angel, Valencia, Venezuela



xH .997 - FW 7.9 - BCC55 - WorkShop - MySql

Continue the discussion