PDA

Ver la Versión Completa : duda sobre ventanas


javier20
24-03-2007, 01:58:10
buenass... ando con la duda de cual es la diferencia entre ventanas modales y ventanas no modales,
puse en el Form1 un boton que al pulsarlo muestre el segundo,
pero lo hago con Form2.Show y Form2.ShowModal y muestra exactamente lo mismo
por las dudas alguien tiene algun link?

Saludoss..

dec
24-03-2007, 02:50:43
Hola,

Cuando muestres un formulario "modal" el proceso de la aplicación se detiene y no continúa hasta que el formulario se cierra. Si muestras un formulario con su método "Show" el proceso de la aplicación no se detiene. Los formularios "modales" son ideales para mostrar diálogos.


with TForm1.Create(nil) do
begin
try
if (ShowModal = mrOk) then
begin
{Código A}
end
else
begin
{Código B}
end;
finally
Free;
end;
end;


El "Código A" o el "Código B" no se ejecutará hasta que se cierre el formulario mostrado "modalmente". Menos complicado:


with TForm1.Create(nil) do
begin
try
ShowModal();
// Lo siguiente no se ejecutará hasta que no se cierre el formulario
finally
Free;
end;
end;


Mientras que:


with TForm1.Create(nil) do
begin
try
Show();
// Lo siguiente se ejecutará acto seguido de mostrar el formulario
finally
Free;
end;
end;


Pero estas cosas se explican muy bien en la ayuda de Delphi. Si sitúas el cursor en el editor de código justo encima de "ShowModal" y pulsas la tecla F1 debe aparecerte información sobre este método. Si haces lo propio con el método "Show" también obtendrás la correspondiente ayuda.