Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-05-2008
Avatar de totote
totote totote is offline
Miembro
 
Registrado: oct 2006
Posts: 150
Poder: 18
totote Va por buen camino
Red face Ventana de Espera

Buenas gente.

He creado una aplicación que importa datos desde una base de datos a otra, hasta ahi voy bien, pero cuando son muchos regitros, se demora un poco, entonces para hacer un poco menos tediosa la espera cree un formulario con un gif animado, entonces mientras realiza la importación muestro el formulario, el problema es que al formulario me lo muestra pero al gif animado no, hice una prueba de poner un boton para q me muestre el formulario al hacerle click y si me lo muestra al formulario y al gif animado, el problema es que cuando esta guardando los datos no me lo muestra al gif que es lo que debo hacer.

Este es el código q utilizo para mostrar el formulario:

Código Delphi [-]
procedure TfrmPrincipal.btnImportarClick(Sender: TObject);
var
  e: TfrmEspera;
begin
  dm.Table1.First;
  e:= TfrmEspera.Create(self);
  i:= 0;
  e.Show;
  e.Enabled:= True;
  while i < (dm.Table1.RecordCount) do
  begin
      .
      // Código de ingreso de datos
      .
      dm.Table1.Next;
      i:= i + 1;
  end;
  dm.cdsDestino.ApplyUpdates(0);
  e.Enabled:= False;
  e.Close;
  e.Free;
end;

Alguna sugerencia? lo estoy haciendo bien? como debería hacerlo?

Saludos.
__________________
¡Oh nooo! no compartas, compartir es pirateria, compartir te llevara a la carcel - Revolution OS
Responder Con Cita
  #2  
Antiguo 16-05-2008
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Prueba haciendo un llamado al método Refresh de ese formulario, dentro del Ciclo y nos cuentas:

Código Delphi [-]
 
procedure TfrmPrincipal.btnImportarClick(Sender: TObject);
var
  e: TfrmEspera;
begin
  dm.Table1.First;
  e:= TfrmEspera.Create(self);
  i:= 0;
  e.Show;
  e.Enabled:= True;
  while i < (dm.Table1.RecordCount) do
  begin
      .
      // Código de ingreso de datos
      .
      dm.Table1.Next;
      i:= i + 1;
      e.Refresh;
  end;
  dm.cdsDestino.ApplyUpdates(0);
  e.Enabled:= False;
  e.Close;
  e.Free;
end;
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 16-05-2008
Avatar de totote
totote totote is offline
Miembro
 
Registrado: oct 2006
Posts: 150
Poder: 18
totote Va por buen camino
me muestra el gif pero siempre desde el principio, hay alguna forma para darle prioridad a un formulario?
__________________
¡Oh nooo! no compartas, compartir es pirateria, compartir te llevara a la carcel - Revolution OS
Responder Con Cita
  #4  
Antiguo 16-05-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
A ver, en lugar de e.Refresh prueba poniendo Application.ProcessMessages.

// Saludos
Responder Con Cita
  #5  
Antiguo 16-05-2008
Avatar de totote
totote totote is offline
Miembro
 
Registrado: oct 2006
Posts: 150
Poder: 18
totote Va por buen camino
Roma anduvo prefectirigillo. Gracias Muchachos

Saludos.
__________________
¡Oh nooo! no compartas, compartir es pirateria, compartir te llevara a la carcel - Revolution OS
Responder Con Cita
  #6  
Antiguo 16-05-2008
Avatar de brakaman
[brakaman] brakaman is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: Castellon - España
Posts: 289
Poder: 18
brakaman Va por buen camino
Una curiosidad sobre tu codigo amigo.....


Código Delphi [-]
procedure TfrmPrincipal.btnImportarClick(Sender: TObject);
var
  e: TfrmEspera;
begin
  dm.Table1.First;
  e:= TfrmEspera.Create(self);
  i:= 0;
  e.Show;
  e.Enabled:= True; // Porque utilizas esto si el formulario ya esta Enabled.
  while i < (dm.Table1.RecordCount) do
  begin
      .
      // Código de ingreso de datos
      .
      dm.Table1.Next;
      i:= i + 1;
      e.Refresh;
  end;
  dm.cdsDestino.ApplyUpdates(0);
  e.Enabled:= False; // ¿Porque? Si posteriormente vas a cerrarlo.....
  e.Close;
  e.Free;
end;

Perdona por la intromision pero estoy intrigadisimo... Cotilla que es uno.

Última edición por jhonny fecha: 16-05-2008 a las 23:23:07. Razón: Etiquetas Delphi
Responder Con Cita
  #7  
Antiguo 20-05-2008
Avatar de totote
totote totote is offline
Miembro
 
Registrado: oct 2006
Posts: 150
Poder: 18
totote Va por buen camino
jaja sisis eso lo puse porque ya no sabia que hacer y empece a probar cosas para ver si alguna andaba despues me olvide de sacarlo jejeje.

Saludos
__________________
¡Oh nooo! no compartas, compartir es pirateria, compartir te llevara a la carcel - Revolution OS
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Tiempo de espera.- BuenaOnda Conexión con bases de datos 13 16-11-2007 03:12:32
Tiempo de Espera barrauda Varios 4 16-07-2007 02:28:01
Cartel De Espera ChristianP SQL 1 26-06-2007 22:33:11
Tiempo de espera emeritos Varios 1 29-06-2006 11:49:26
Tickets en espera Rox77 Tablas planas 5 11-08-2003 22:36:17


La franja horaria es GMT +2. Ahora son las 12:34:24.


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