In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Re: Problema con ADO

Foro público de Xailer en español
Responder
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

Re: Problema con ADO

Mensaje por jose.luis »

Pedro,
Veo que ese código está dentro de un timer.
Además usas una data del formulario para hacer la conexión.
A veces me he encontrado que con tiempos 'cortos' una sentencia de sql aún
no se ha terminado cuando empieza la siguiente.
Si el timer tiene poco tiempo de intervalo.... pudiera darse el caso que el
timer haya terminado justo cuando el nuevo timer esté haciendo el
getrows....
Si no es eso... entonces tienes algún tipo de microcorte entre el open del
query y el getrows.
Otra posibilidad es que tOleAuto de xHarbour no 'aguante' tanto tiempo en
marcha.... ;-)
Saludos,
José Luis Capel
PD: ¿Vendrás a la reunión en Miranda de Ebro?
"Ignacio Ortiz de Zúñiga" escribió en el mensaje de
noticias:4ec3e18f$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Buenos dí­as,
El objeto ADO no ha sido correctamente instanciado.
Probablemente se haya producido un error de conexión.
Un saludo
--
Ignacio Ortiz de Zúñiga
[Equipo de Xailer/Xailer team]
http://www.xailer.com
http://www.xailer.info
Avatar de Usuario
xhermita
Mensajes: 177
Registrado: Vie Feb 18, 2011 10:05 pm
Ubicación: Las Palmas de Gran Canaria
Contactar:

Re: Problema con ADO

Mensaje por xhermita »

Jose,
Tengo la precaución de poner el ::oTimer1:lEnabled := .F. al entrar en
el evento Timer, precisamente para evitar la doble ejecución.
Como veras en el código le he añadido un ProcessMessages() después de la
apertura del oAdoDataSource, precisamente para darle tiempo a windows.
Y lo mas curioso es que no ejecuto la consulta si no esta el
oAdoDataSource conectado.
Es solo al hacer el getrows cuando da el error.
Me tiene descolocado, porque encima no consigo provocarlo yo, siempre lo
veo a posteriori, cuando el cliente me enví­a el error.log
He añadido un ProcessMessages() entre la apertura del ::oSQLQuery y el
:GetRow(), y haber que pasa.
PD: Me encantarí­a ir a Miranda de Ebro, concreten la fecha pronto para
conseguir pasajes baratos sin tener que viajar de pie en Raynair.
Saludos
Pedro Amaro
Pedro Amaro
2PC Service

Xailer / Néfele / MySQL-MariaDB / SQLServer
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

Re: Problema con ADO

Mensaje por jose.luis »

Pedro,
Prueba a hacer algo parecido a esto:
METHOD onTimer() CLASS xxx
STATIC lOcupado := .F.
IF !lOcupado
lOcupado := .T.
// Pon el código del select... No hace falta los processmessages entre
el IF y el ENDIF (si lo necesitas lo pones después del ENDIF
lOcupado := .F.
ENDIF
RETURN NIL
Y ya me cuentas si esto te ha ayudado.
Saludos,
José Luis Capel
PD: Será a principios de primavera. Propón tu un fecha. Yo propuse para
Fallas.
"Pedro Amaro" escribió en el mensaje de
noticias:[email=4ec4c7cd@svctag-j7w3v3j....]4ec4c7cd@svctag-j7w3v3j....[/email]
Jose,
Tengo la precaución de poner el ::oTimer1:lEnabled := .F. al entrar en
el evento Timer, precisamente para evitar la doble ejecución.
Como veras en el código le he añadido un ProcessMessages() después de la
apertura del oAdoDataSource, precisamente para darle tiempo a windows.
Y lo mas curioso es que no ejecuto la consulta si no esta el
oAdoDataSource conectado.
Es solo al hacer el getrows cuando da el error.
Me tiene descolocado, porque encima no consigo provocarlo yo, siempre lo
veo a posteriori, cuando el cliente me enví­a el error.log
He añadido un ProcessMessages() entre la apertura del ::oSQLQuery y el
:GetRow(), y haber que pasa.
PD: Me encantarí­a ir a Miranda de Ebro, concreten la fecha pronto para
conseguir pasajes baratos sin tener que viajar de pie en Raynair.
Saludos
Pedro Amaro
Avatar de Usuario
xhermita
Mensajes: 177
Registrado: Vie Feb 18, 2011 10:05 pm
Ubicación: Las Palmas de Gran Canaria
Contactar:

Re: Problema con ADO

Mensaje por xhermita »

A mi la fecha me da igual, soy autonomo, mi horario es flexiiiiiiiible.
Lo que necesito es saber la fecha con por lo meno 2 meses de antelación.
Un saludo
PD: Lo he instalado con las modificaciones que te indique y voy ha
tenerlo un par de dí­as a prueba en el cliente, si falla lo probare como
me indicas, Gracias
El 17/11/2011 14:15, José Luis Capel escribió:
> Pedro,
>
> Prueba a hacer algo parecido a esto:
>
> METHOD onTimer() CLASS xxx
>
> STATIC lOcupado := .F.
>
> IF !lOcupado
> lOcupado := .T.
>
> // Pon el código del select... No hace falta los processmessages entre
> el IF y el ENDIF (si lo necesitas lo pones después del ENDIF
>
> lOcupado := .F.
> ENDIF
>
>
> RETURN NIL
>
>
> Y ya me cuentas si esto te ha ayudado.
>
> Saludos,
> José Luis Capel
> PD: Será a principios de primavera. Propón tu un fecha. Yo propuse para
> Fallas.
>
>
>
>
>
> "Pedro Amaro" escribió en el mensaje de
> noticias:[email=4ec4c7cd@svctag-j7w3v3j....]4ec4c7cd@svctag-j7w3v3j....[/email]
>
> Jose,
>
> Tengo la precaución de poner el ::oTimer1:lEnabled := .F. al entrar en
> el evento Timer, precisamente para evitar la doble ejecución.
>
> Como veras en el código le he añadido un ProcessMessages() después de la
> apertura del oAdoDataSource, precisamente para darle tiempo a windows.
>
> Y lo mas curioso es que no ejecuto la consulta si no esta el
> oAdoDataSource conectado.
>
> Es solo al hacer el getrows cuando da el error.
>
> Me tiene descolocado, porque encima no consigo provocarlo yo, siempre lo
> veo a posteriori, cuando el cliente me enví­a el error.log
>
> He añadido un ProcessMessages() entre la apertura del ::oSQLQuery y el
> :GetRow(), y haber que pasa.
>
> PD: Me encantarí­a ir a Miranda de Ebro, concreten la fecha pronto para
> conseguir pasajes baratos sin tener que viajar de pie en Raynair.
>
> Saludos
> Pedro Amaro
Pedro Amaro
2PC Service

Xailer / Néfele / MySQL-MariaDB / SQLServer
Responder