Page 1 of 1

XBrowse con xBase - Efecto Pijama - Error en Red

Posted: Tue Mar 21, 2023 3:30 am
by José
Buenos días

Usando XBrowse, estas 3 opciones para lograr el efecto pijama

oBrw:bClrStd:= { || { CLR_Txt, { CLR_Fdo1, CLR_Fdo2 }[ oBrw:KeyNo % 2 +1 ] } }
oBrw:bClrStd:= { || { CLR_Txt, if( oBrw:KeyNo % 2 == 0, CLR_Fdo1, CLR_Fdo2 ) } }
oBrw:bClrStd:= { || { CLR_Txt, if( int( oBrw:KeyNo / 2 ) # oBrw:KeyNo / 2, CLR_Fdo1, CLR_Fdo2 ) } }

Con tablas xbase locales (en el mismo disco, en mi PC) funcionan impecable; pero, las mismas tablas en dos redes de datos diferentes producen efectos 'aleatorios' en los colores de fondo, como 1 y 2, 1 y 3, 2 y 2... es decir no 1 y 1.

¿Alguna idea?

Gracias, saludos.

Re: XBrowse con xBase - Efecto Pijama - Error en Red

Posted: Tue Mar 21, 2023 2:41 pm
by José
Esto es usando DBFCDX, y ocurre solo con tablas xBase de más de 10.000 registro, por lo que comentando estas líneas (marcadas con *) en XBrowse.prg el problema se resuelve

METHOD SetRDD( lAddColumns, lAutoOrder, aFldNames, aRows ) CLASS TXBrowse
::::::
else
if ( ( ::cAlias )->( RDDName() ) == "DBFCDX" )

* if ( ::cAlias )->( LASTREC() ) > 10000 .and. lFileIsRemote( ( ::cAlias )->( DBINFO( DBI_FULLPATH ) ) )
* DEFAULT ::bKeyNo := { |n| ( ::cAlias )->( If( n == nil, OrdKeyRelPos() * ::nLen, ;
* If( Empty( OrdSetFocus() ), OrdKeyGoTo( n ), OrdKeyRelPos( n / ::nLen ) ) ) ) }
* else
::lRelyOnKeyNo := If( Set( _SET_DELETED ), "DELETED()" $ Upper( DbFilter() ), .t. )
* endif

endif

DEFAULT ::bKeyNo := {| n | iif( n == nil,;
( ::cAlias )->( OrdKeyNo() ),;
( ::cAlias )->( OrdKeyGoto( n );
) ) },;
::bKeyCount := {|| ( ::cAlias )->( If( eof() .and. bof(), 0, OrdKeyCount() ) ) }


Endif
::::::

¿Puede alguien por favor decirme si causará algún error dejarlas comentadas? ¿o cual sería la solución correcta?

Nota. Estoy en un proceso de migración de mis sistemas, de FW + xHB versiones antiguas a FWH y HB versiones recientes, y por un tiempo necesito seguir usando WBrowse + DBFCDX y XBrowse + DBFCDX (el objetivo final es usar XBrowse + MySQL).

Con tablas xBase de 200.000 registros he probado XBrowse + DBFCDX en PC local y en dos redes LAN y (si, siendo XBrowse más lento que WBrowse) no se hace aún más lento al comentar las líneas ¿Entonces cual es el propósito de estas?

Ojalá quienes tienen más experiencia o los maestros puedan aportarme luz.

Muchas gracias

Re: XBrowse con xBase - Efecto Pijama - Error en Red

Posted: Tue Mar 21, 2023 3:31 pm
by karinha
És posible un ejemplo autocontenido completo?

Regards, saludos.

Re: XBrowse con xBase - Efecto Pijama - Error en Red

Posted: Tue Mar 21, 2023 4:10 pm
by José
Hola Karinha

En el comentario anterior aporté más información...

Gracias