Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-03-2004
gario gario is offline
Miembro
 
Registrado: oct 2003
Ubicación: Gijon
Posts: 34
Poder: 0
gario Va por buen camino
Lo mas raro que me ha pasado

Hola a todos:

Estoy trabajando con interbase y concretamente con el componente ibevent. en una parte del codigo se ejecuta esto:

Form_Cita.IBEventos.RegisterEvents;
showmessage(evento);

Y todo funciona bien.

Pero no me interesa que se ejecute el showmessage, era solo para pruebas. La cuestion es que lo quito y se me cuelga el equipo cuando trato de acceder a la base de datos desde otra funcion que se ejecuta a continuacion.
Tras muchas pruebas he llegado a la hipotesis de que necesita el tiempo que tarde en ejecutarse el showmessage para que funcione... os parece tan raro como a mi? hay solucion?

Gracias.
__________________

Un trozo de chocolate te da la energia necesaria para ir a por otro trozo de chocolate (by ELENA)
Responder Con Cita
  #2  
Antiguo 31-03-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por gario
Hola a todos:

Estoy trabajando con interbase y concretamente con el componente ibevent. en una parte del codigo se ejecuta esto:

Form_Cita.IBEventos.RegisterEvents;
showmessage(evento);

Y todo funciona bien.

Pero no me interesa que se ejecute el showmessage, era solo para pruebas. La cuestion es que lo quito y se me cuelga el equipo cuando trato de acceder a la base de datos desde otra funcion que se ejecuta a continuacion.
Tras muchas pruebas he llegado a la hipotesis de que necesita el tiempo que tarde en ejecutarse el showmessage para que funcione... os parece tan raro como a mi? hay solucion?

Gracias.
Nunca he trabajado con interbase, pero... Prueba cambiando el ShowMessage por un Application.ProcessMessages!

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 01-04-2004
gario gario is offline
Miembro
 
Registrado: oct 2003
Ubicación: Gijon
Posts: 34
Poder: 0
gario Va por buen camino
La cuestion es que no quiero sacar ningun mesage... quiero eliminar esa linea de codigo, no substituirla.

Socorrroooo!!!
__________________

Un trozo de chocolate te da la energia necesaria para ir a por otro trozo de chocolate (by ELENA)
Responder Con Cita
  #4  
Antiguo 01-04-2004
Avatar de Nuria
Nuria Nuria is offline
Miembro
 
Registrado: may 2003
Posts: 531
Poder: 21
Nuria Va por buen camino
Hola gario!

El Application.ProcessMessages no te muestra ningún mensaje.

ProcessMessages hace que la aplicación procese todos los eventos pendientes que le han llegado (como teclados, clicks de ratón, avisos del sistema operativo, etc.). Extrae uno a uno los mensajes de su cola de mensajes pendientes. Cuando ya no hay ninguno que procesar, entonces vuelve y continúa con la rutina donde fue llamado.

Saludos!
Responder Con Cita
  #5  
Antiguo 02-04-2004
gario gario is offline
Miembro
 
Registrado: oct 2003
Ubicación: Gijon
Posts: 34
Poder: 0
gario Va por buen camino
Ufff. menudo alarde de ignoracia acabo de hacer ahora mismo lo pruebo.... gracias y mil perdones
__________________

Un trozo de chocolate te da la energia necesaria para ir a por otro trozo de chocolate (by ELENA)
Responder Con Cita
  #6  
Antiguo 02-04-2004
gario gario is offline
Miembro
 
Registrado: oct 2003
Ubicación: Gijon
Posts: 34
Poder: 0
gario Va por buen camino
Algo avanza

Cuando ponia el showmessage se me quedaba colgado antes de repintar el grid
Ahora no pasa eso, ahora se repinta el grid pero se queda como ejecutando un bucle infinito en la funcion ondrawcell del grid.

el caso es que las dos instrucciones juntas funciona bien, pero sigo sin poder prescindir del showmessage.

Me esta saliendo una ulcera de caballo

Gracias a tod@os
__________________

Un trozo de chocolate te da la energia necesaria para ir a por otro trozo de chocolate (by ELENA)
Responder Con Cita
  #7  
Antiguo 02-04-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
no se realmente si necesite tiempo... pero eso lo podes comprobar simplemente llamando a sleep con un intervalo de tiempo que te parezca adecuado... en lugar del ShowMessage.

Cita:
Empezado por gario
Me esta saliendo una ulcera de caballo
Dado que los caballos regularmente no tienen de que preocuparse... dudo que encontres uno con ulcera...

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #8  
Antiguo 02-04-2004
gario gario is offline
Miembro
 
Registrado: oct 2003
Ubicación: Gijon
Posts: 34
Poder: 0
gario Va por buen camino
Pues va tirando

Durmiendo el programa 10 milisegundos con el sleep parece que ese problema desaparece.... se me cuelga en la respuesta alos eventos pero bueno eso aun no lo tengo analizado.

De todos modos esta solucion no me parece muy fiable porqeu si cambian las maquina y las circunstacias quiza el tiempo no sea suficiente.... a alguien se le ocurre otra solucion o la causa?


Gracias
__________________

Un trozo de chocolate te da la energia necesaria para ir a por otro trozo de chocolate (by ELENA)
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 22:38:11.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi