Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ventanas Modales (https://www.clubdelphi.com/foros/showthread.php?t=35948)

subzero 27-09-2006 01:10:02

Ventanas Modales
 
Hola amigos, como anda todo.... y empiezo así:

En las ultimas aplicaciones he estado trabajando con ventanas que se crean al momento de ser invocadas y se liberar al momento de cerrarlas por cierto les comparto mi código:


Creo una función que se llama mostrar_ventana

Código Delphi [-]
procedure mostrar_ventana(AClass: TFormClass);
begin
   with AClass.Create(Application) do
  try
    ShowModal;
  finally
    free;
  end;
end;

**********
Con esta linea se invoca
mostrar_ventana(TfProductosPorEmpresa)


Bueno, el funcionamiento como sabemos del ShowModal al momento de ser invocado bloque todo hasta la ventana principal.

Ya conociendo como abordo el llamamiento de ventanas mi pregunta es la siguiente: debido a que en ocasiones se hace necesario tener varias ventanas abiertas de la misma aplicación existirá alguna forma de reutilizar la función, ya que cuando lo coloco como Show, me muestra la ventana pero se pierde instantaneamente, y tambien he probado colocando la ventanas que se autocreen...

Agradezco de antemano al haberse interezado en mi pregunta.

jachguate 27-09-2006 02:30:13

Si queres interactuar con varias ventanas a la vez, no podes mostrarlas modalmente, has de hacerlo "no modal".

Cómo ya has apuntado, al mostrar la ventana, el control regresa a la siguiente línea de código, por lo que no podes liberarla puesto que el usuario jamás la verá.

Podes usar un código similar, pero no liberar la ventana. Para asegurarte que se libere al cerrarla, podes establecer el Parámetro "Action" del evento OnClose de la ventana al valor "caFree", de manera que esta se "autolibera" cuando se oculta.

Hasta luego.

;)


La franja horaria es GMT +2. Ahora son las 22:34:32.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi