Cerrar una form desde otra
Publicado por E.Martínez (3 intervenciones) el 30/06/2003 10:36:16
Hola a todos.
Puede que os parezca una tonteria mi pregunta, pero bueno vamos al grano.
Quiero tener en mi aplicación una form con una barra de progreso (en este caso la form2), para poder cargarla en cualquier momento, por sí existe algún proceso que lleve su tiempo y para que al usuario no le parezca que l\'aplicación esta colgada.
El problemilla, es que cada vez que cierro la Form2, se lanza el evento \"onActivate\" de la Form1. La Form1 es Modal. Solo queria saber sí, podria evitar que sucediese esto, de alguna otra forma mas elegante, que no sea controlando el codigo del evento onActivate, mediante un simple semáforo.
Se que puede parecer una tonteria este tema, pero os agradeceria mucho vuestra ayuda.
Saludos a todos y gracias.
Código del ejemplo:
procedure TForm1.Button1Click(Sender: TObject);
var
I : integer;
begin
Form2.Show;
while Form2.Visible do
begin
For I:=1 to 10000 do
Begin
Form2.ProgressBar1.Position := I;
Application.ProcessMessages;
end;
Form2.Close;
end;
end;
Puede que os parezca una tonteria mi pregunta, pero bueno vamos al grano.
Quiero tener en mi aplicación una form con una barra de progreso (en este caso la form2), para poder cargarla en cualquier momento, por sí existe algún proceso que lleve su tiempo y para que al usuario no le parezca que l\'aplicación esta colgada.
El problemilla, es que cada vez que cierro la Form2, se lanza el evento \"onActivate\" de la Form1. La Form1 es Modal. Solo queria saber sí, podria evitar que sucediese esto, de alguna otra forma mas elegante, que no sea controlando el codigo del evento onActivate, mediante un simple semáforo.
Se que puede parecer una tonteria este tema, pero os agradeceria mucho vuestra ayuda.
Saludos a todos y gracias.
Código del ejemplo:
procedure TForm1.Button1Click(Sender: TObject);
var
I : integer;
begin
Form2.Show;
while Form2.Visible do
begin
For I:=1 to 10000 do
Begin
Form2.ProgressBar1.Position := I;
Application.ProcessMessages;
end;
Form2.Close;
end;
end;
Valora esta pregunta


0