Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-12-2013
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.440
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Una duda.
Lo que necesitas es que no se bloquee la aplicación o mostrar una barra para que se vea que está "bloqueada haciendo algo".
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #2  
Antiguo 09-12-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Tenía la misma duda que Neftali, de ahí mi pregunta anterior.

Por que si se trata solamente de avisar al usuario que se está intentando conectar a la base de datos, bastaría con usar un form no modal con (por ejemplo) un Label para el mensaje, algo como:
Código Delphi [-]
  Form2 := TForm2.Create(Self);
  Form2.Label1.Caption := 'Intentando conectar con la base de datos';
  Form2.Show;
  Form2.Refresh;
  // Intentar la conxión
  ...
  try
    ZConnection1.Connected := True; 
    ...
  except
    ShowMessage('No se puede establecer la conexión con la base de datos');
    ...
  end;
  Form2.Free;
  ...
No uso Zeos, así que el código está redactado sobre el mensaje, es a fin de darte una idea.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 10-12-2013
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 20
anubis Va por buen camino
Gracias a los dos,

Lo de conectar ya lo hice con una splash y un progress bar y parece que si funciona, igual no sea un metodo elegante, pero si hace su funcion.

El problema lo tengo cuando se crea el form.activate, que tarda un poco, eso ya lo solucione con otro progress bar con un thread que saque de una pagina con un timer, que es lo que preguntaba si siempre era necesario porque aun asi tarda un poquito en desaparecer, ya no se si es por el terminate del thread o no se.

Lo poco que entiendo, de momento, de los threads, es que puedes hacer, por ejemplo, dos tareas a la vez o mas si cabe, pero en este caso dos.

La primera, que vaya cargando los datos mientras aparece un aviso para que no se piense que esta bloqueado, ya puede ser con un progress bar o simplemente una imagen o un label.

La segunda parte que no funciona con el thread, porque el progress bar no avanza y da lo mismo ponerlo o no, porque tarda igual que sino lo pongo. Es cuando pongo el comienzo del thread y despues asigno el dataset (que es remoto) y despues termino el thread. Segun pensaba, el thread es tambien para eso, para segun hacer dos cosas a la vez, si pasarse claro esta.
Responder Con Cita
  #4  
Antiguo 10-12-2013
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 23
AzidRain Va camino a la fama
No es mas fácil ver que es lo que está ralentizando la conexión? Yo no trabajo con FB, pero sí con MySQL y nunca mis usuarios han tenido que esperar mas tiempo del normal como para ponerles una barrita que les diga que se "está conectando" y mira que mis usuarios tienen conexiones paupérrimas.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #5  
Antiguo 10-12-2013
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 20
anubis Va por buen camino
Si, eso ya lo busque pero parece que no va por ahi, o eso creo.

Uso primero conexion ssh puente para conectarme a la base de datos.

Ya hice primero un programa simple en el que coloco un dbgrid que, a lo sumo tendra 50 clientes, y si, tarda, digamos 15 segundos, evidentemente no voy a esperar que se abra como si estuviera en red local o en la misma computadora. Si bien es cierto que no recomendais hacer 'select * from clientes', si necesito hacer eso para que el usuario elija un cliente de la lista.
Responder Con Cita
  #6  
Antiguo 15-03-2014
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 20
anubis Va por buen camino
Hola, y gracias a todos por vuestras respuestas.

Ya he optimizado mejor las consultas y es un poco más rápido .
Aún así si tengo intención de usar threats que parece que es lo mejor para muchas cosas .

Con un timer ya lo intente pero parece que cuando se solicita la consulta el timer no salta porque la consulta bloquea la aplicacion, lo que nose es si con un threat tendria que rehacer el programa o se puede implementar de alguna forma.

Honestamente, a pesar de los ejemplos, no me aclaro mucho , aunque intento "ver" la composicion desde todos los angulos, se que deben de ser faciles de usar pero no veo el click, tambien se que no es bueno abusar de los threats .

En definitiva, la pregunta, a ver si voy agarrando el chiste, es si implementando un threat tengo que rehacer el programa o bien es facil implementarlo.

gracias
Responder Con Cita
  #7  
Antiguo 16-03-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola anubis.

Como comentas en el mensaje #5, el problema del retardo se produce en la conexión a la base de datos remota. Entonces, la implementación de threads sólo se justificaría si el usuario de tu aplicación puede desarrollar actividades con tu aplicación aún sin haberse establecido la conexión.

De otro modo, threads mediante o no, el usuario va a tener que aguardar el tiempo que la conexión requiera para empezar a operar.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Manejo de threads ivanloco Varios 6 21-07-2008 06:20:29
uso de threads JULIPO API de Windows 2 25-07-2007 16:09:06
manejo de arbol de contenidos y manejo se sonido y video Buelos Internet 4 09-07-2007 14:52:45
threads multihilo walito API de Windows 5 13-06-2007 19:34:26
Manejo de threads en Delphi dmasson Varios 3 16-04-2004 15:22:58


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


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