Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-10-2008
NEG1414 NEG1414 is offline
Miembro
 
Registrado: mar 2007
Posts: 177
Poder: 18
NEG1414 Va por buen camino
"sincronizar" mostrar Form en Pantalla

Buenas:

Tengo un programa que al iniciarse muestra en pantalla un menu (Form Principal),El caso es que en el evento Form Activate el programa lee una gran cantidad de datos de un archivo, lo que le lleva un monton de tiempo.....Esto produce que del formulario menu se muestre en principio una parte (los bordes) y al rato (una vez leidos los datos del archivo) el resto del form (las opciones menu).

Es posible hacer que lea primero todos los datos y despues muestro el form completo .

Espero que me haya explicado Bien.

Gracias.
Responder Con Cita
  #2  
Antiguo 22-10-2008
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Supongo que podrás solucionarlo utilizando Application.ProcessMesages.

Código Delphi [-]
procedure FormPrincipal.OnActivate...
begin
   {Aqui calcula cosas}
   Application.ProcessMesages;
   Calculo1;
   Application.ProcessMesages;
   Calculo2;
   Application.ProcessMesages;
   Calculo3;
   Application.ProcessMesages;
   Calculo4;
   Application.ProcessMesages;
end;
Responder Con Cita
  #3  
Antiguo 22-10-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Creo el proceso correcto sería al contrario, es decir:
- Primero muestras el form y que se pinte en pantalla
- después empieza el proceso gordo. Quizás una barra de progreso, un gif animado, etc ayuden un poco.

Si te interesa este método, busca en el foro por "aftershow".


El FormActivate ¿seguro que es el más adecuado?, ese evento se procesa siempre que pierda el foco una ventana y después lo vuelva a adquirir. Creo que te deberías referir al OnShow, ya que se procesa una sola vez. Pero no sé si es lo que quieres.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #4  
Antiguo 22-10-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
Otra posibilidad sería dejar la lectura de datos en un splash screen que se muestre antes del formulario principal, y mostrar éste sólo hasta que se haya concluido la lectura.

// Saludos
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
Mostrar una ventana "Inicializando" mientras se crean las Forms mancurnino Varios 6 08-05-2008 00:50:00
Visualizar un reporte "especial" en pantalla FGarcia Varios 7 28-05-2007 23:19:53
Apagar desde la "pantalla de bienvenida" Wellnic OOP 6 06-05-2007 23:35:36
Ventana MDI, "Siempre visible" y "Pantalla completa" ixMike API de Windows 7 11-04-2007 18:36:55
Mi mensaje nº 300 "Me pagan por Mirar una pantalla" tcp_ip_es Humor 1 16-07-2004 16:54:30


La franja horaria es GMT +2. Ahora son las 21:56:12.


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