Ver Mensaje Individual
  #5  
Antiguo 17-04-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Reputación: 25
Caral Va por buen camino
Hola
Esto es lo mejor que puedo hacer, soy el Novato del club, alguno de los Maestros lo arreglara.
El progressbar ahora esta en el form1 (ya no se crea en ejecución, ni dentro de nada), una vez que termina se muestra el form2.
Lo que si creo en ejecución es el timer, pero si quieres también lo modificas.
Es lo mismo para un reporte, solo lo cambias.
Código Delphi [-]

procedure TForm1.DialogTimer(Sender: TObject) ;
begin
   if NOT (Sender is TTimer) then Exit;

   if ((Sender as TTimer).Owner) is TForm then
   with ((Sender as TTimer).Owner) as TForm do
   begin
    if ProgressBar1.Position >= ProgressBar1.Max then
     ModalResult := mrCancel
     else
       ProgressBar1.StepIt;
   end;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
   ATimer : TTimer;
begin
   ATimer := TTimer.Create(Form1) ;
   with ProgressBar1 do begin
     Max := 5;
     Step := 1;
     end;

    with ATimer do  begin
     Interval := 1000;
     OnTimer:=DialogTimer;


   case ShowModal of
   ID_CANCEL:
   begin
   form2:=Tform2.Create(self);
   try
      form2.ShowModal;
   finally
      form2.Free;
   end;
   end;
   end;
   end;

end;
Saludos
Responder Con Cita