Ver Mensaje Individual
  #2  
Antiguo 09-04-2013
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Reputación: 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
El problema es que los procedimientos de redibujado estarán ocupando todo el tiempo y además es exponencial a medida que vas incrementenado el número de componentes.

Lo primero que se me ocurre es que crees los componentes antes de visualizar el form. A ver si así evitas que se lancen procedimientos de pintado.
¿Dónde llamas actualmente a este procedimiento? ¿En el OnShow? ¿Después del OnShow?

Otra opción es probar, por ejemplo a crearlos dentro de un frame o contenedor con este oculto, y una vez creados todos visualizarlos...

Código Delphi [-]
  panel1.Visible := False;
  try
    edt := TEdit.Create(Self);
    edt.ParentWindow := Panel1.Handle;
    edt.Top := 10;
    edt.Left := 10;
    ....
    Creación de componentes.....
    ...
  finally
    Panel1.Visible := true;
  end;

A ver si esto mejora el tiempo.
__________________
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