Ver Mensaje Individual
  #4  
Antiguo 10-12-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
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
Cita:
el problema es que no veo el formulario (form1.onshow) hasta que se han ejecutado todas las operaciones
Hola.

Si los procesos transcurren antes o durante el evento FormShow, no veo solución en forma directa.
Pero creo que lo que te va a funcionar, es crear y capturar un mensaje AfterShow.

Ejemplo:
Código Delphi [-]
...
const
  TAREAS_AFTER_SHOW = WM_USER + 300;
type
  TForm1 = class(TForm)
    procedure FormShow(Sender: TObject);
  private
    procedure TareasAfterShow(var Msg: TMessage); message TAREAS_AFTER_SHOW;
  public
  end;
...
interface
...
procedure TForm1.FormShow(Sender: TObject);
begin
  // Lo que quieras mostrar... 
  Caption:= 'Evento OnShow';
  PostMessage(Handle, TAREAS_AFTER_SHOW, 0, 0);
end;

procedure TForm1.TareasAfterShow(var Msg: TMessage);
begin
  // Aca los procesos que quieras
  Sleep(2000); // simula  demora de procesos
  ShowMessage('Tareas finalizadas');
end;
...

Saludos.

Última edición por ecfisa fecha: 10-12-2010 a las 18:40:54.
Responder Con Cita