Page 1 of 2
AYUDA CON TSBROWSE Y ADO
Posted: Sat Apr 11, 2009 8:09 am
by Cgallegoa
Maesto Manuel Mercado,
Necesito tu generosa ayuda.
En la versión 8 de tu TSBrowse incluíste método ::SetAdo() pero lo desactivaste y hay dos métodos no definidos: AdoSkyp y AdoGenFldBlk. Ya completaste ese código ? Podrías, por favor indicarme como completarlo ?
Necesito urgente acceder a una base MYSQL bastante grande y si lo hago vía arrays se vuelve super lento. Creo que es mucho más rápido si se accesa y muestra directamente la base a través de ADO evitando pasar por arrays o por una base temporal.
Millón de gracias por tu ayuda.
Son las 3:00 de la mañana del Viernes Santo. Imagínate si estoy colgado por este proceso que en vez de rezar estoy trabajando
Maestro Antonio,
Alguna sugerencia ? Tengo toda la aplicación con TSBrowse, por eso no puedo pasarme a XBrowse (Y la verdad es que aún no le he metido el diente). Realmente se gana velocidad si se evita el array o la base temporal ?
Saludos,
Carlos Gallego
Mi email es:
cgallegoa@mastersoft3000.com
Re: AYUDA CON TSBROWSE Y ADO
Posted: Sat Apr 11, 2009 10:10 am
by Antonio Linares
Carlos,
A ver si Manuel puede ayudarnos en esto.
Tambien Nageswararao es un gran experto en browses y ADO.
Siento no poder serte de más ayuda, de momento.
Re: AYUDA CON TSBROWSE Y ADO
Posted: Sat Apr 11, 2009 3:30 pm
by mmercado
Cgallegoa wrote:En la versión 8 de tu TSBrowse incluíste método ::SetAdo() pero lo desactivaste y hay dos métodos no definidos: AdoSkyp y AdoGenFldBlk. Ya completaste ese código ? Podrías, por favor indicarme como completarlo ?
Hola Carlos:
Aunque ya funciona, todavía no lo tengo suficientemente probado. De cualquier forma te estoy enviando a tu correo TSBrowse en su estado actual, espero con tu ayuda poder avanzar en las pruebas.
Un abrazo.
Manuel Mercado.
Re: AYUDA CON TSBROWSE Y ADO
Posted: Mon Apr 13, 2009 12:50 am
by Cgallegoa
Mastro Manuel recibí la clase. Muchas gracias. Se te olvidó enviarme el archivo TSCOLUMN.PRG. Miestras tanto usaré el de una versión anterior.
En efecto me funcionó con ADO.
Tengo dos observaciones:
1. Al cerrar la aplicación genera error "Destructors disabled! Destructor of class ''TOLEAUTO" can't be executed". Creo que se puede corregir si en el Method Destroy() se agrega lo siguiente:
Code: Select all | Expand
...
if ValType(::oRSet) == "O"
::oRSet := NIL
endif
::hWnd = 0
Return Nil
2.- Genera error al trabajar con ADS. En el Method SetDbf() tienes una cadena para la ejecución de un macro:
Code: Select all | Expand
If "ADS"$( ::cAlias )->( RddName() )
cAdsKeyNo := "{|n,Self|If(n==Nil,Round(" + cAlias + "->(ADSGetRelKeyPos()) * Self:nLen , 0 ), " + ;
cAlias + "->( ADSSetRelKeyPos( n / Self:nLen ) ) ) }"
cAdsKeyCount := "{|cTag| " + cAlias + "->( ADSKeyCount(cTag,, 1 ) ) }"
Default ::bKeyNo := &(cAdsKeyNo) , ;
::bKeyCount := &cAdsKeyCount, ;
::bLogicLen := &cAdsKeyCount
Al ejecutarse el macro en "Default ::bKeyNo := &(cAdsKeyNo) , ;" genera error pues en la cadena de texto para el macro "cAdsKeyNo := "{|
n,Self|If(n==Nil,Round(.......}"
Self no está definido, por lo tanto
Self:nLen no existe. Cómo puedo solucionarlo ?
Nuevamente millón de gracias por tu ayuda y saludos,
Carlos Gallego
Re: AYUDA CON TSBROWSE Y ADO
Posted: Mon Apr 13, 2009 1:03 am
by Cgallegoa
Maestro Antonio gracias por tu sugerencia.
Me gustaría saber tu opinión: Qué es más conveniente en términos de velocidad al acceder a una gran base de datos MYSQL:
- Directamente Con ADO-Recordset
- Pasándola a un Array
- Pasándola a una DBF temporal
ó, es irrelevante la diferencia de velocidad. Qué opinas ?
Saludos,
Carlos Gallego
Re: AYUDA CON TSBROWSE Y ADO
Posted: Mon Apr 13, 2009 3:41 pm
by Cgallegoa
Maestro Manuel,
Analizando código en el Method SetDbf(), cuando evalúas el macro con &(cAdsKeyNo) en ninguna parte se pasa el parámetro "Self" al bloque de código. Qué sucedería si se accesa directamente a ::nLen, en cuyo caso la cadena quedaría así:
Code: Select all | Expand
cAdsKeyNo := "{|n|If(n==Nil,Round(" + cAlias + "->(ADSGetRelKeyPos()) * " + Str(::nLen) + ", 0 ), " + ;
cAlias + "->( ADSSetRelKeyPos( n / " + Str(::nLen) + " ) ) ) }"
Afectaría esto en algo a la visualización del Browse o del VScroll, o en alguna otra parte ?
Es vital que me funcione perfecto con ADS pues es el motor que utilizo en todas mis aplicaciones.
Saludos,
Carlos Gallego
Re: AYUDA CON TSBROWSE Y ADO
Posted: Tue Apr 14, 2009 3:04 pm
by Cgallegoa
Hola......... Alguna respuesta..........
Saludos,
Carlos Gallego
Re: AYUDA CON TSBROWSE Y ADO
Posted: Wed Apr 15, 2009 7:22 pm
by Cgallegoa
Hola..............
Re: AYUDA CON TSBROWSE Y ADO
Posted: Thu Apr 16, 2009 1:29 am
by mmercado
Cgallegoa wrote:Al ejecutarse el macro en "Default ::bKeyNo := &(cAdsKeyNo) , ;" genera error pues en la cadena de texto para el macro "cAdsKeyNo := "{|n,Self|If(n==Nil,Round(.......}" Self no está definido, por lo tanto Self:nLen no existe. Cómo puedo solucionarlo ?
Hola Carlos:
Por favor envíame o muéstrame el error.log para tratar de corregirlo.
Un abrazo
Manuel Mercado
Re: AYUDA CON TSBROWSE Y ADO
Posted: Thu Apr 16, 2009 10:14 pm
by wmormar
Carlos,
La velocidad de acceso es mucho mas rápida haciendola sobre un recordset, pues si la cargas a un array, tendrias que hacer un barrido y lo mismo sería si lo haces en una DBF temporal.
Saludos
Re: AYUDA CON TSBROWSE Y ADO
Posted: Fri Jun 19, 2009 1:42 pm
by EASYSOFT
Buenos días amigos del foro
Sr. Mercado toda mi aplicación esta desarrollada con tsbrowse, empece a migrarla para trabajar con MySql y ado
por esta razón le pido de favor si podría hacerme llegar la ultima versión de su clase.
de antemano le agradezco, mi correo :
oscarfmaldonado@hotmail.comSaludos
Oscar
Re: AYUDA CON TSBROWSE Y ADO
Posted: Fri Jun 19, 2009 2:05 pm
by mmercado
EASYSOFT wrote:Sr. Mercado toda mi aplicación esta desarrollada con tsbrowse, empece a migrarla para trabajar con MySql y ado
por esta razón le pido de favor si podría hacerme llegar la ultima versión de su clase.
de antemano le agradezco, mi correo :
oscarfmaldonado@hotmail.com
Hola Oscar:
Checa tu correo.
Un abrazo.
Manuel Mercado.
Re: AYUDA CON TSBROWSE Y ADO
Posted: Sun Jun 21, 2009 8:17 pm
by Cgallegoa
Hola Maestro Manuel:
Yo tengo la misma la situación de Oscar. Todas mis aplicaciones están atadas a tu maravillosa clase TSBrowse. Pero, me estoy quedando atrás en el uso de Ado y MySql. Podrías, por favor mandarme tu clase con estas prestaciones ?
Un abrazo y millón de gracias,
Carlos Gallego
cgallegoa@mastersoft3000.com
Re: AYUDA CON TSBROWSE Y ADO
Posted: Mon Jun 22, 2009 6:10 pm
by EASYSOFT
Sr. Mercado
gracias por su generosa ayuda
en esta nueva versión no funciona UPSTABLE y ResetBarpos con Rescordsets o existe algún equivalente.
una vez mas gracias por su ayuda
Saludos
Oscar
Re: AYUDA CON TSBROWSE Y ADO
Posted: Wed Feb 17, 2010 10:25 pm
by EASYSOFT
Amigos del foro y Sr. Mercado
Desde que empece a utilizar la ultima version de tsbrowse y elimine la linea resetbarpos()
al mover el scroll sobre el browse se me pierden los indices no se que estoy haciendo mal
por favor necesito su ayuda